裁剪图像后,imageOrientation不起作用(UIImage旋转不正确)

时间:2014-09-22 21:27:14

标签: ios objective-c uiimage cgimage

我正在裁剪UIImage并试图保持其方向。但是,当我使用其原始方向0时,新的UIImage旋转不正确。

//_picture is a UIImageView and .image gives the UIImage

    NSLog(@"orientation ORIGINAL %i",_picture.image.imageOrientation); //logs out 0
    CGRect rect = CGRectMake(0,0,300,300);
    CIContext *context = [CIContext contextWithOptions:nil];
    CGImageRef ref = [context createCGImage:_pictureFilterImage fromRect:rect];
    _picture.image = [UIImage imageWithCGImage:ref scale:1.0 orientation:_picture.image.imageOrientation];
    [_picture setFrame:rect];
    NSLog(@"orientation is now %i",_picture.image.imageOrientation); //logs out 0 again

但是,如果我在3中用硬编码代替_picture.image.imageOrientation它会给我正确的方向(对于拍摄照片的具体方式,但如果用户以不同的方式握住他们的设备,显然不会工作)。

为什么这不能给我正确的形象?关于如何保留方向以及使用原始方向的原因的建议可能不起作用?

仅供参考:当我退出原始方向时,它给我一个0.当我在3中进行硬编码时,它当然会退出3但新图像现在的方向与以前相同。为什么需要从0到3来保持方向,我缺少什么?

0 个答案:

没有答案