大家好,
我遇到一个问题,需要旋转一张纵向的UIImage(即WIDTH < HEIGHT),但它的方向等于UIImageOrientationRight。我不确定这是怎么发生的,但在我的库中有一些使用iPhone 4拍摄的图像会出现这种情况。
这是我的代码(只有当方向等于UIImageOrientationUp时才有效):
我遇到一个问题,需要旋转一张纵向的UIImage(即WIDTH < HEIGHT),但它的方向等于UIImageOrientationRight。我不确定这是怎么发生的,但在我的库中有一些使用iPhone 4拍摄的图像会出现这种情况。
这是我的代码(只有当方向等于UIImageOrientationUp时才有效):
UIGraphicsBeginImageContextWithOptions(rotatedScaledRect.size, NO, 0.0);
CGContextRef myContext = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(myContext, kCGInterpolationHigh);
CGContextTranslateCTM(myContext,
(rotatedScaledRect.size.width/2),
(rotatedScaledRect.size.height/2));
CGContextConcatCTM(myContext, transformation);
CGContextScaleCTM(myContext, 1.0, -1.0);
CGContextDrawImage(myContext, CGRectMake(-roundf(newImage.size.width / 2), -roundf(newImage.size.height / 2), newImage.size.width, newImage.size.height), [newImage CGImage]);
newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
我需要应用CGContextConcatCTM
,因为我有多个连接到图像的变换。
我尝试了几种不同的方法,但都无济于事。
非常感谢您的帮助。