【发布时间】:2011-11-17 21:07:32
【问题描述】:
我有一个 UIImage,我把它放在一个 UIImageView 中,它附有一个捏手势识别器,我用它来缩放图像。当我在 UIImageView 中缩放图像时,没有失真并且可以完美缩放。但是,我需要在不在 UIImageView 中时调整 UIImage 的大小,并且当我使用以下代码执行此操作时,结果略有偏差:
CGFloat width = self.imageView.frame.size.width;
CGFloat height = self.imageView.frame.size.height;
UIGraphicsBeginImageContext(CGSizeMake(width, height));
[self.image drawInRect:CGRectMake(0, 0, width, height)];
UIImage *resizedImage = [UIGraphicsGetImageFromCurrentImageContext() retain];
UIGraphicsEndImageContext();
如您所见,我从 imageView 获取高度和宽度,因为这是图像需要缩放到的。
我知道如果 imageView 能够做到这一点,它必须可以完美地缩放它,有没有人碰巧知道我做错了什么?
更新:我附上了一张图片的前/后(已由用户在图像视图中重新缩放)以及使用上述方法调整大小后它的外观。
【问题讨论】:
-
您是否检查以确保帧中的值具有相同的比例?
-
@Javy - 是的,我刚刚检查过,我假设您的意思是帧比例与初始图像比例。它们是一样的。
标签: iphone ios cocoa-touch graphics core-graphics