iOS图片裁剪为正方形时imageOrientation自动改变了

  • Post author:
  • Post category:其他


拍照或者相册的图片上传.

要求上传正方形,在裁剪的时候发现imageOrientation自动改变了.

但是从相册选不会,拍照会.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissViewControllerAnimated:YEScompletion:^{}];
    UIImage *image = [infoobjectForKey:UIImagePickerControllerOriginalImage];
    //图片裁剪成正方形
    UIImage *resizeImage;
    CGFloat iw = image.size.width;
    CGFloat ih = image.size.height;
    CLog(@"image's size w:%f  h:%f",iw,ih);
    if (iw > ih) {//长大于宽
        CGImageRef cgimage =CGImageCreateWithImageInRect([imageCGImage], CGRectMake(0,0, ih, ih));
        resizeImage = [[UIImagealloc] initWithCGImage:cgimagescale:1orientation:image.imageOrientation];
    } else { 
        CGImageRef cgimage =CGImageCreateWithImageInRect([imageCGImage], CGRectMake(0,0, iw, iw));
        resizeImage = [[UIImagealloc] initWithCGImage:cgimagescale:1orientation:image.imageOrientation];
    }
}

之前用的是


resizeImage = [


UIImage




imageWithCGImage


:cgimage];


改成

resizeImage = [[


UIImage




alloc


]


initWithCGImage


:cgimage


scale


:


1




orientation


:image.


imageOrientation


];就可以了



版权声明:本文为garr_odie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。