如何优化调整大小的UIImage针对特定目标的文件大小?(How can I optimize UI

2019-10-16 21:47发布

对于任何给定的文件数据的大小,我希望能够调整(或压缩),以适合该数据限制内一个UIImage。 这问题不是如何调整,或如何检查的文件大小...这是关于算法的性能方法得到这个。

已经在这里搜索,我发现这个线程 ,其讲述的线性或二进制算法下台的JPEG图像质量。 这是不是很高性能,以几十秒的最好的。

我在iOS上的工作,所以图像可以接近10MB(从iPhone 4S)。 我的目标,虽然可变,目前是3145728个字节。

我目前使用UIImageJPEGRepresentation压缩一点,但要到我的低目标看来我得损失多少质量如此大的照片。 有没有之间的关系UIImage大小和NSData大小? 有一些功能,我可以这样说:

area * X = dataSize

...并解决一个比例系数,所以我可以一次性调整?

Answer 1:

压缩10MB图像将是相对缓慢:一个想法,我只是看你挂线后出现。 如何调整要小得多(使压缩快得多),然后进行压缩算法(从链接)。 这可以被用作引导件,以压缩所述10MB图像的大小? 这个想法是,压缩比应该是相同的图像相似的,独立的尺寸。

比方说,1000×1000像素压缩为10MB,目标大小为3MB。

然后说较小100×100像素(例如),压缩用同样的质量,是C MB。 然后执行100×100图像上的二进制搜索ALG直到大小= C *(3/10)。 然后使用这个压缩质量为1000×1000的图像来获得〜3MB的形象。

注:我不知道如何这会工作 - 它只是一个建议。 选择什么样的大小(我用100 * 100)的更小尺寸的图像也只是猜测,事情需要被试验。



文章来源: How can I optimize UIImage resizes for a specific target filesize?