将UIImage大小减小到可管理的大小(减少字节数)

Mus*_*afa 9 iphone cocoa resize image objective-c

我想减少设备捕获的图像的字节数,因为我相信_imageScaledToSize它不会减少图片的字节数(或者它是什么?) - 我想将图像的缩略图存储在本地字典中对象并不能将全尺寸图像放入字典中.任何的想法?

Bra*_*son 23

如果您只想压缩UIImage,可以使用

NSData *dataForPNGFile = UIImagePNGRepresentation(yourImage);
Run Code Online (Sandbox Code Playgroud)

生成图像编码为PNG(轻松插入到一个NSDictionary或写入磁盘)的一个NSData版本,也可以使用

NSData *dataForPNGFile = UIImageJPEGRepresentation(yourImage, 0.9f);
Run Code Online (Sandbox Code Playgroud)

要做同样的事情,只能采用JPEG格式.第二个参数是JPEG的图像质量.这两个都应该产生比你的UIImage更小,内存更小的图像.

调整UIImage的大小以使用已发布的方法创建较小的缩略图(以像素为单位)有点棘手._imageScaledToSize来自私有API,我强烈建议您不要使用它.有关在记录的方法中有效的方法,请参阅此文章.


rad*_*six 11

前几天我遇到了这个问题,做了很多研究.我找到了一个很棒的解决方案,其中包含以下代码:

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/