2017-04-06 50 views
-1

的使用有一个方便的功能(我相信他们有邮件投递的到来删除它),这将让你选择一个图像附件的缩放版本的选项iOS邮件应用。关于这个功能的好处是,它实际上会计算每个缩放图像的文件大小;如下图所示:确定图像文件大小之前缩放

iOS Mail Image size activity

我上传图片到该服务器有一个小文件大小限制(10 MB),我想,以避免超过此限制上传来模拟此功能。

在假设图像实际上不以确定每个缩放的图像的文件的大小按比例缩小三次;我会如何去做这件事?

我一直没能找到对于一些类型的公式来计算基于原始图像的尺寸按比例缩小图像的文件大小的任何信息。

+0

作为位图?是的,它是'W * H * bytes_per_pixel' ....压缩格式(PNG,JPG),唯一的办法就是做缩放 – Selvin

+0

@Selvin而'bytes_per_pixel'取决于位图的配置,是否正确? (即'ARGB_8888')但压缩格式应该比这个计算小得多,不是吗? – Bryan

回答

1

鉴于延迟时,我突然说旧设备,这是一个不平凡的拖延对话,我挑战你的假设,苹果不只是做脏契税这里我总是看到 - 即。将这些JPG直接写入内存/磁盘并读取大小,而不是计算这个...即。 let data = UIImageJPEGRepresentation(image, 0.6)!

诀窍是可能的人都倒下了“它需要至少80%的质量是真实的!”孔。如果你有一个糟糕的JPG /媒体库,这才是真实的。实际上,如果你正在写一个相当复杂的UIImage到内存/磁盘,并且你不需要透明度,那么60%就足够了。