图像压缩大小 - iPhone SDK

Don*_*yck 25 iphone api uiimagejpegrepresentation ios

我想压缩图像(相机/照片库),然后将其发送到服务器.我知道我可以按高度和宽度进行压缩,但我想将图像按尺寸压缩到固定尺寸(200 KB)并保持原始高度和宽度.JPEGRepresentation中的比例因子不代表大小和仅压缩质量.如何在不使用任何第三方库的情况下实现此目的(压缩到固定大小)?谢谢你的帮助.

kgu*_*dge 63

下面是一些示例代码,它们会尝试为您压缩图像,使其不超过最大压缩或最大文件大小

CGFloat compression = 0.9f;
CGFloat maxCompression = 0.1f;
int maxFileSize = 250*1024;

NSData *imageData = UIImageJPEGRepresentation(yourImage, compression);

while ([imageData length] > maxFileSize && compression > maxCompression)
{
    compression -= 0.1;
    imageData = UIImageJPEGRepresentation(yourImage, compression);
}
Run Code Online (Sandbox Code Playgroud)

  • 上面编写的代码非常有用:).但我希望我的图像压缩到20 kb,我试着玩你的代码.但是只能达到大约200 kb的大小,你能指导我一个方法,我怎么能达到20 kb. (2认同)