1

我正在开发一个应用程序的一部分,该应用程序使用 ImagePickerViewController 来拍照/使用现有图片作为个人资料页面。我正在将图片(所有 JPEG)的分辨率大小减小到 480x320,而不是很好地压缩它。问题是我无法确定哪些照片需要降低和压缩分辨率。

现在我要做的是编写一个算法来降低大于 480x320 的图片的分辨率,并调整图片的压缩级别,使其大小约为 30-50 KB。压缩级别将随着图片的大小而缩放,因此小于 30-50 KB 的任何内容都没有压缩,任何超过 30-50 KB 的内容都需要进行尽可能多的压缩。

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

4

1 回答 1

2

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

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

于 2012-01-11T19:57:52.537 回答