我正在开发一个应用程序的一部分,该应用程序使用ImagePickerViewController拍摄照片/使用现有图片作为个人资料页面。我正在将图片(所有JPEG)的分辨率缩小到480x320而不是压缩它。问题是我无法确定哪些照片需要缩小和压缩分辨率。
现在我要做的是写一个算法,如果它大于480x320,则降低图片的分辨率,并调整图片的压缩级别,使其大小约为30-50 KB。压缩级别将根据图片的大小进行缩放,因此任何小于30-50 KB的内容都没有压缩,任何更多的压缩都需要达到30-50 KB的压缩程度。
我如何编写算法来处理这个问题?
答案 0 :(得分:2)
您需要进行试验和错误 - 将图像大小调整为480x320,然后将其保存为JPEG,例如95%质量。检查文件大小,如果文件太大,请再次尝试90%。重复,直到你进入正确的范围。
这可能会相对较慢(几秒钟?),所以在后台线程上这样做。