我正在开发一个应用程序的一部分,该应用程序使用ImagePickerViewController来拍摄照片/使用个人资料页面的现有图片。我将图片(所有JPEG格式)的分辨率减小到480x320,然后将其压缩。问题是,我没有办法确定哪些照片需要降低和压缩分辨率。
现在我要做的是编写一个算法,如果图片的分辨率大于480x320,就降低它的分辨率,并调整图片的压缩级别,使其大小在30-50KB左右。压缩级别将随着图片的大小而缩放,因此任何小于30-50 KB的图像都没有压缩,任何超过30-50 KB的图像都有足够的压缩。
我该如何着手编写一个算法来处理这个问题呢?
发布于 2012-01-12 03:57:53
您需要反复试验--将图像大小调整为480x320,然后以95%的质量将其另存为JPEG格式。检查文件大小,如果太大,请以90%的大小重试。重复这一步,直到你进入正确的范围。
这可能会相对较慢(几秒钟?)因此,在后台线程上执行此操作。
https://stackoverflow.com/questions/8825721
复制相似问题