iOS返回不同大小的图像?

时间:2013-06-03 13:27:09

标签: ios

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

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

[UIImageJPEGRepresentation(imageRerurnedFromPhotoGallery , 1.0) length];

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

2 个答案:

答案 0 :(得分:0)

为什么你不这样做?

您将获得以字节为单位的大小

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

int imageSize = data.length;
NSLog(@"size of image is: %i ", imageSize);

答案 1 :(得分:0)

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