ios 为什么 UIImage 转 NSData 大小 变大?

[[PHImageManager defaultManager]
                        requestImageDataAndOrientationForAsset:self.asset
                                                       options:options
                                                 resultHandler:^(NSData *imageData,
                                                         NSString *dataUTI,
                                                         CGImagePropertyOrientation orientation,
                                                         NSDictionary *info) {


                                                    UIImage *image = [UIImage imageWithData:imageData];
                                                    // image->data
                                                     }
                                                 }];

相册获取的 imageData.length 跟 相册里面 看到的图像大小 是一致的

data->image 之后, 在想把image转成data,发现大小相比imageData就变大了 (没有对image 做额外操作)

  1. UIImageJPEGRepresentation(image, 1.0)
  2. UIImagePNGRepresentation(image);
  3. ImageIO
  4. SDWebImage(实际SDImageIOCoder encode也是通过ImageIO处理的)

这几种方式都试过了,都不行,只是大的程度不一样。

ImageIOSDWebImage 都指定了跟相册图片一样的格式, 进行编码压缩,也不行。

你可能会说 PHImageManager 都拿到 imageData了,直接用就好了,你说的对,现在只是想不明白 为什么 没法转换回去,你知道吗?

阅读 2.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题