Damir
Damir

Reputation: 56189

How to compress image from UIImageView?

I am using image from UIImageView * image to upload to server. I use code like NSData *imageToUpload = UIImageJPEGRepresentation(image.image, 90); but I would like to compress image to be less than 2MB. How to compress image from UIImageView ?

Upvotes: 3

Views: 448

Answers (1)

Vishnu
Vishnu

Reputation: 2243

Here is a piece of code as you need

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]];

Hope this Helps !!!

Upvotes: 5

Related Questions