【问题标题】:How to get the Size (KB) of UIImage如何获取 UIImage 的大小 (KB)
【发布时间】:2013-02-19 12:03:12
【问题描述】:

我正在从didFinishPickingMediaWithInfo 获取图片。

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

我想以 Kb 为单位获取 Image 的大小。

【问题讨论】:

标签: ios objective-c xcode uiimage


【解决方案1】:
    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;

【讨论】:

  • 看起来很贵!您正在创建一个重复的磁盘表示,只是为了获得它的大小!
  • @trojanfoe 还有其他解决方案吗?
  • @AmiriDev 如果它来自磁盘,那么您可以从通过该委托调用传递的字典中获取 url,然后使用 NSFileManager 获取文件信息。我只是猜测......
【解决方案2】:

我认为op的size (kb)originalImage的内存大小,对吧?

查看ARC下malloc_size的用法参考this

#import <malloc/malloc.h>

NSLog(@"Size of %@: %zd", NSStringFromClass([originalImage class]), malloc_size((__bridge const void *)originalImage));

【讨论】:

    猜你喜欢
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2020-04-20
    • 2023-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多