首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将UIImage转换为字节

将UIImage转换为字节
EN

Stack Overflow用户
提问于 2011-07-01 17:57:32
回答 3查看 3.1K关注 0票数 3

我正在使用UIImagePickerController获取UIImage。如何计算镜像占用字节数,单位为kb/mb?

使用这些值,我必须使用户不能添加超过1MB大小的图像的逻辑

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-01 18:01:04

你当然可以。将UIImage转换为NSData对象,该对象具有length属性,该属性将以字节为单位提供其大小。这样,您就可以轻松地计算出所需的任何单位的大小。

举个例子:

代码语言:javascript
运行
复制
    UIImage *img = [UIImage imageNamed:@"some.png"];
    NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);
    int bytes = [dataObj length];
    //convert into whatever unit you need
票数 4
EN

Stack Overflow用户

发布于 2011-07-01 18:06:21

图片大小可以通过下面的UIImagePickerController委托方法获取

代码语言:javascript
运行
复制
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
     if([UIImageJPEGRepresentation(image, 1.0) length]> MAX_SIZE)
     {
         //Code here
     }
}

在这里,你可以看到,我已经将图像转换为数据,而数据长度可以给出字节长度。

票数 1
EN

Stack Overflow用户

发布于 2011-07-01 18:06:39

与其阻止用户上传超过1MB的图像,不如通过缩放和压缩图像来更好地为用户服务,以节省我怀疑的空间。然而,要回答你的问题,一种方法很简单;

代码语言:javascript
运行
复制
-(void)imagePickerController:(UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *) info {


NSData *imageData = UIImagePNGRepresentation(image); // Or UIImageJPEGRepresentation 
long sizeInBytes = [imageData length];

// do stuff

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6546429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档