如何从UIImageView压缩图像?

Dam*_*mir 3 ios ios5 ios6

我正在使用UIImageView*图像中的图像上传到服务器.我使用代码, NSData *imageToUpload = UIImageJPEGRepresentation(image.image, 90); 但我想压缩图像小于2MB.如何从UIImageView压缩图像?

Dan*_*any 5

这是您需要的一段代码

CGFloat compression = 222.0f;
CGFloat maxCompression = 202.1f;
int maxFileSize = 160*165; //fill your size need

NSData *imageDat = UIImageJPEGRepresentation(image.image, compression);

while ([imageDat length] > maxFileSize && compression > maxCompression)
{
    compression -= 0.1222;
    imageDat = UIImageJPEGRepresentation(decodedimage.image, compression);
}
NSLog(@"image compressed success");

[image setImage:[UIImage imageWithData:imageDat]];
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助 !!!