大家好,
我在旋转以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
,因为我对图像进行了几次级联转换。
我尝试了几种不同的方法都无济于事。
在此先感谢您的帮助。