Question

I tying to check my image size after picking form the photo library by using this code.

 NSData *imageData1 = [[NSData alloc] initWithData:UIImageJPEGRepresentation((imageview.image), 0.5)];

   int imageSize = imageData1.length;
   NSLog(@"SIZE OF IMAGE: %i ", imageSize);

But showing something like this .

SIZE OF IMAGE: 237125 

But i want to view the image size in the MB format like 25 MB how to do pls tell me how to do it.

thanks.

Was it helpful?

Solution

imageSize has data length in bytes. You need to convert it to Mb

NSLog(@"SIZE OF IMAGE: %i Mb", imageSize/1024/1024);

UPDATE:

You can also use following code

NSLog(@"SIZE OF IMAGE: %.2f Mb", (float)imageSize/1024/1024);

to receive output like

SIZE OF IMAGE: 0.23 Mb

for sizes less the 1 Mb.

OTHER TIPS

[NSByteCountFormatter stringFromByteCount:imageSize 
                      countStyle:NSByteCountFormatterCountStyleFile];

Complementing @rounak 's answer, in Swift 3:

ByteCountFormatter.string(fromByteCount: Int64(imageSize), countStyle: .file)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top