【发布时间】:2013-11-22 23:15:03
【问题描述】:
我想在服务器上上传图片。 但在上传之前,我想压缩该图像,然后上传到服务器。我不想上传超过 2 mb 的图像。 我已经使用了这个逻辑,但是如果图像大小太大,那么它不会运行。在处理过程中,循环数和占用的内存增加到 1 GB。
double compressionRatio=1;
NSData *imgData=UIImagePNGRepresentation(proImage.image,compressionRatio);
while ([imgData length]>50000) {
compressionRatio=compressionRatio*50;
imgData=UIImageJPEGRepresentation(proImage.image,compressionRatio);
}
【问题讨论】:
-
为什么在
while循环之前使用PNG表示?而compressionRatio应该介于 0.0(最大压缩)和 1.0(无压缩)之间。文档是你的朋友:developer.apple.com/library/iOS/documentation/UIKit/Reference/… -
@rokjarc 告诉我在发送到服务器之前如何压缩图像
-
2MB 等于 2097152 字节而不是 50000 字节。
标签: ios image compression