【问题标题】:Converting UIImage to CGImage cause rotation of Image将 UIImage 转换为 CGImage 会导致图像旋转
【发布时间】:2012-05-25 06:03:43
【问题描述】:

我正在尝试通过我的自定义裁剪器裁剪图像。不是来自 UIImagePickerController 的。现在,我通过处理 UIImagePicker 的委托在 UIImgeView 中显示从 Image Picker 捕获的图像:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    imvOriginalImage.image = image;
}

为了裁剪,我必须将此图像转换为 CGImageRef。图像以纵向模式拍摄。现在,当我在 CGImageRef 中转换此图像时,图像方向会发生变化。即使我使用以下内容:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    //imvOriginalImage.image = image;
    CGImageRef imgRef = [image CGImage];
    UIImage *img = [UIImage imageWithCGImage:imgRef];
    [imvOriginalImage setImage:img];

}

图像方向已更改。这只发生在那些以纵向模式拍摄的图像上。横向图片没有这个问题。

  1. 为什么会这样?
  2. 如何解决?

提前致谢。

【问题讨论】:

  • 这是因为UIImage 有一个imageOrientation 属性,它知道旋转图像,但CGImageRef 不知道这个。

标签: iphone uiimage cgimage cgimageref


【解决方案1】:

这是 iPhone 相机与 Home 按钮相比旋转图像。它使用EXIF,即图像的元数据。看到这个帖子:

iPhone image rotation

【讨论】:

    猜你喜欢
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多