【问题标题】:Display image size in MB format IOS 7以 MB 格式显示图像大小 IOS 7
【发布时间】:2014-03-29 01:40:29
【问题描述】:

使用此代码从照片库中挑选后,我想检查我的图像大小。

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

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

但是显示这样的东西。

SIZE OF IMAGE: 237125 

但我想查看 MB 格式的图像大小,例如 25 MB,请告诉我该怎么做。

谢谢。

【问题讨论】:

    标签: ios iphone image-size


    【解决方案1】:
    [NSByteCountFormatter stringFromByteCount:imageSize 
                          countStyle:NSByteCountFormatterCountStyleFile];
    

    【讨论】:

    • 是的,这应该被标记为正确答案,我在 Swift 中添加了自己的版本
    【解决方案2】:

    imageSize 的数据长度以字节为单位。您需要将其转换为 Mb

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

    更新:

    你也可以使用下面的代码

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

    接收类似的输出

    图像大小:0.23 Mb

    对于小于 1 Mb 的大小。

    【讨论】:

    • 现在它在控制台中显示 0mb 请告诉我如何解决这个问题
    • 这是因为 237125 字节小于 1 Mb。
    • 我已经检查了一些大尺寸的图像,但它仍然只显示 0 mb
    • 可能也小于 1 Mb。请尝试我的回答中的第二个变体。
    【解决方案3】:

    Swift 3 中补充 @rounak 的答案:

    ByteCountFormatter.string(fromByteCount: Int64(imageSize), countStyle: .file)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 2010-11-28
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      相关资源
      最近更新 更多