我正在使用UIImagePickerController获取UIImage。如何计算镜像占用字节数,单位为kb/mb?
使用这些值,我必须使用户不能添加超过1MB大小的图像的逻辑
发布于 2011-07-01 18:01:04
你当然可以。将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发布于 2011-07-01 18:06:21
图片大小可以通过下面的UIImagePickerController委托方法获取
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
     if([UIImageJPEGRepresentation(image, 1.0) length]> MAX_SIZE)
     {
         //Code here
     }
}在这里,你可以看到,我已经将图像转换为数据,而数据长度可以给出字节长度。
发布于 2011-07-01 18:06:39
与其阻止用户上传超过1MB的图像,不如通过缩放和压缩图像来更好地为用户服务,以节省我怀疑的空间。然而,要回答你的问题,一种方法很简单;
-(void)imagePickerController:(UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *) info {
NSData *imageData = UIImagePNGRepresentation(image); // Or UIImageJPEGRepresentation 
long sizeInBytes = [imageData length];
// do stuff
}https://stackoverflow.com/questions/6546429
复制相似问题