iOS图像压缩算法-我该如何创建一个



我正在开发一个应用程序的一部分,该应用程序使用ImagePickerViewController为配置文件页面拍照/使用现有图片。我正在将图片(所有JPEG)的分辨率缩小到480x320,然后对其进行精细压缩。问题是,我无法确定哪些照片需要降低和压缩分辨率。

现在我想做的是写一个算法,如果图片大于480x320,可以降低图片的分辨率,并调整图片的压缩级别,使其大小在30-50 KB左右。压缩级别将随着图片的大小而缩放,因此任何小于30-50 KB的内容都没有压缩,任何大于30-50 KB内容都有达到30-50 KB所需的压缩量。

我该如何编写一个算法来处理这个问题?

您需要反复尝试--将图像大小调整为480x320,然后以95%的质量将其保存为JPEG。检查文件大小,如果太大,请以90%的比例重试。重复,直到你进入正确的范围。

这可能会相对较慢(几秒钟?),所以在后台线程上执行此操作。

最新更新