2013-02-19 70 views
15

我从didFinishPickingMediaWithInfo获取图像。如何获取UIImage的大小(KB)

UIImage *originalImage = (UIImage*)[info valueForKey:UIImagePickerControllerOriginalImage]; 

我想要以Kb为单位获得图像的大小。

+0

内部表示的大小或磁盘上文件的大小? – trojanfoe 2013-02-19 12:04:20

+1

类似的问题http://stackoverflow.com/questions/10815292/how-to-get-size-of-uiimage-size-like-500-kb-600-kb-etc – Shashank 2013-02-19 12:07:57

+0

磁盘上的@trojanfoe – 2013-02-19 12:21:33

回答

24
UIImage *originalImage = (UIImage*)[info valueForKey:UIImagePickerControllerOriginalImage]; 
    NSData *imgData = UIImageJPEGRepresentation(originalImage, 1); //1 it represents the quality of the image. 
    NSLog(@"Size of Image(bytes):%d",[imgData length]); 
    imgData = nil; 
+11

看起来很贵!您正在创建一个重复的磁盘表示,以获得其大小! – trojanfoe 2013-02-19 13:09:25

+1

@trojanfoe任何其他解决方案? – 2013-02-19 15:18:03

+1

@AmiriDev如果它来自磁盘,那么你可以从与该委托调用传递的字典中获取url,然后使用'NSFileManager'获取文件信息。我只是在猜测... – trojanfoe 2013-02-19 15:20:51