UIImage + Resize.h - 为UIImageOrientationUp方向赋予错误的仿射变换

时间:2010-09-19 19:19:52

标签: iphone cocoa-touch uikit quartz-graphics quartz-2d

对于UIImage调整大小,我使用了以下类。

http://iphone.svn.wordpress.org/trunk/UIImage+Resize.m

但是我在某些iPhone方面存在问题,我将手机放在一个垂直的表面上。它可以正确调整大小,但图像没有经过适当的仿射变换。图像方向不同。我在“transformForOrientation”方法中记录了消息,它在其中调用了UIImageOrientationUp,我没有看到对该方向进行任何操作。我相信这是我获得无效转换的原因。所以我需要一个帮助来解决这个问题。是否要添加“CGAffineTransformTranslate”或“CGAffineTransformRotate”以获得正确的输出。

请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:0)

UIImage + Resize方法中的- (UIImage *)croppedImage:(CGRect)bounds;方法没有考虑图像的方向。

在该方法中,替换此行:

UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];

用这个:

UIImage *croppedImage = [UIImage imageWithCGImage:imageRef scale:1.0 orientation:self.imageOrientation];