-5

I want to compress my image to less than 500kb, which may be taken from camera or gallery. I tried a lot of code in google but nothing provides a good result. Please help me out to…

2 Answers2

1

You can use this...

UIImageJPEGRepresentation(<#Image data#>, <#Value#>)

Value should be between 0.1 (Lowest compression) and 1.0 (Highest compression). When you place 0 then it will take device scale which may be retina or non-retina resolution.

Mahendra
  • 8,448
  • 3
  • 33
  • 56
1
NSData *imgData1 = UIImageJPEGRepresentation(newImage, 1.0f);
NSLog(@"1.0 size: %d", imgData1.length);

NSData *imgData2 = UIImageJPEGRepresentation(newImage, 0.7f);
NSLog(@"0.7 size: %d", imgData2.length);

NSData *imgData3 = UIImageJPEGRepresentation(newImage, 0.4f);
NSLog(@"0.4 size: %d", imgData3.length);

NSData *imgData4 = UIImageJPEGRepresentation(newImage, 0.0f);
NSLog(@"0.0 size: %d", imgData4.length);

Usage

UIImage *reducedImage = [UIImage imageWithData: imgData2];
Kuldeep
  • 4,466
  • 8
  • 32
  • 59