【发布时间】: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];
}
图像方向已更改。这只发生在那些以纵向模式拍摄的图像上。横向图片没有这个问题。
- 为什么会这样?
- 如何解决?
提前致谢。
【问题讨论】:
-
这是因为
UIImage有一个imageOrientation属性,它知道旋转图像,但CGImageRef不知道这个。
标签: iphone uiimage cgimage cgimageref