我正在使用UIImagePickerController获取UIImage。如何计算该图像所占用的字节数(以KB / MB为单位)?
根据这些值,我必须制定逻辑,以便用户无法添加大小超过1MB的图像。
我正在使用UIImagePickerController获取UIImage。如何计算该图像所占用的字节数(以KB / MB为单位)?
根据这些值,我必须制定逻辑,以便用户无法添加大小超过1MB的图像。
UIImage
转换为一个NSData
对象,该对象具有length
属性,可让您得知其以字节为单位的大小。然后,您可以轻松地按所需单位计算大小。 UIImage *img = [UIImage imageNamed:@"some.png"];
NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);
int bytes = [dataObj length];
//convert into whatever unit you need
你可以通过UIImagePickerController的以下委托方法获取图像大小
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
if([UIImageJPEGRepresentation(image, 1.0) length]> MAX_SIZE)
{
//Code here
}
}
-(void)imagePickerController:(UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *) info {
NSData *imageData = UIImagePNGRepresentation(image); // Or UIImageJPEGRepresentation
long sizeInBytes = [imageData length];
// do stuff
}
UIImagePNGRepresentation(img)
。 - akashivskyy