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…
Asked
Active
Viewed 128 times
2 Answers
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