我想上传最大8 mb的图片。所以为了测试,我在我的照片库中添加了大小为4.2 mb的图像(尺寸:3264 X 2443)。但是当我选择要上传的图像时,我检查了图像的大小。但它返回9840076字节,即9.3842 mb,实际上是4.2 mb。因此,无法上传大小为4.2 mb的图像。
我使用下面的方法来计算图像的大小,这将返回9840076字节。
[UIImageJPEGRepresentation(imageRerurnedFromPhotoGallery , 1.0) length];
我在计算图像大小时做错了吗? 请建议我正确的方法。 提前谢谢!
答案 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。