最近做项目,发现服务器上原先100多K的图片,在iOS应用中下载下来保存只有几十K,检查了代码,并没有对图片进行任何压缩。图片格式是JPG。后面查了资料,有如下答案。
UIImageWriteToSavedPhotosAlbum保存图片是会导致图片的质量有部分下降的, 特别是jpeg格式的, 它本身是个压缩格式, 下载下来放到UIImage里, 会有解压缩以及一些别的处理, 保存到本地的时候, 又会重新压缩, 大小有出入也是挺正常的。参见:UIImageWriteToSavedPhotosAlbum - Photo quality degraded
UIImage strips extra metadata off. Also, JPEG is a compressed photo format, and UIImageWriteToSavedPhotosAlbum uncompresses and recompresses the photo. JPEGs can never be recompressed 100% quality.