UIImage 在裁剪后被旋转

Posted

技术标签:

【中文标题】UIImage 在裁剪后被旋转【英文标题】:UIImage gets rotated after cropping 【发布时间】:2013-10-17 18:37:10 【问题描述】:

我在裁剪图像时遇到问题。我正在从文档文件夹中获取我的图像。裁剪后,我的图像在我的 uiimageview 中逆时针旋转。 请帮忙。这是我用于裁剪的方法:

- (UIImage *)croppedImage:(CGRect)bounds 
CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], bounds);
UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
return croppedImage;

这是我用来调用该方法的代码:

CGRect cropRect = CGRectMake(0,0,imageview.size.width, imageview.size.height)
UIImage *croppedImage = [previewImage croppedImage:cropRect];

有人知道为什么我的图片会旋转吗?

【问题讨论】:

【参考方案1】:

CoreGraphics 图像框架没有考虑图像的 EXIF 数据,这可能就是您看到旋转的原因。尝试从未旋转的 UIImage 制作图像,它会正常工作,或者使用 CoreGraphics 库解析 EXIF 数据以进行补偿。

【讨论】:

【参考方案2】:

根据 UIImage 类文档,您可能可以使用...

+ (UIImage *)imageWithCGImage:(CGImageRef)imageRef 
                        scale:(CGFloat)scale 
                  orientation:(UIImageOrientation)orientation

【讨论】:

以上是关于UIImage 在裁剪后被旋转的主要内容,如果未能解决你的问题,请参考以下文章

裁剪旋转的 UIImage

裁剪 UIImage 使其在保存时逆时针旋转 90º

将 UIImage 转换为 CGImage 会导致图像旋转

旋转 90 度更改图像大小和裁剪 - Swift 3

通过自定义形状裁剪 UIImage

使用 UIView 框架裁剪 UIImage