2

我想上传一张最大 8 mb 的图片。因此,为了进行测试,我在大小为 4.2 mb(尺寸:3264 X 2443)的照片库中添加了图像。但是当我选择要上传的图像时,我已经检查了图像的大小。但它返回 9840076 字节,即 9.3842 mb,实际上是 4.2 mb。所以大小为 4.2 mb 的图像无法上传。

我使用下面的方法来计算图像的大小,这将返回 9840076 字节。

[UIImageJPEGRepresentation(imageRerurnedFromPhotoGallery , 1.0) length];

我在计算图像大小时做错了什么?请建议我正确的方法。提前致谢!

4

2 回答 2

0

您正在解码然后重新编码图像,这就是文件大小可能不同的原因。如果您根本不需要修改图像,请使用ALAssetsLibrary将图像作为NSData对象而不是 UIImage 对象来获取。然后,当您查看NSData'length属性时,您的文件大小将完全匹配。有关一些示例代码,请参阅使用 ALAssetsLibrary 和 ALAsset 取出 Image as NSData

于 2013-06-03T14:20:37.913 回答
0

你为什么不这样尝试?

你会得到以字节为单位的大小

NSData *data = [[NSData alloc] initWithData:UIImageJPEGRepresentation((Your Image), 0.5)];

int imageSize = data.length;
NSLog(@"size of image is: %i ", imageSize);
于 2013-06-03T13:35:35.377 回答