首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在选择UIImage选择器控制器前,如何得到图像的大小?

在选择UIImage选择器控制器前,如何得到图像的大小?
EN

Stack Overflow用户
提问于 2011-06-21 15:47:31
回答 1查看 4.5K关注 0票数 1

我想从UIImagePickerControllerSourceTypePhotoLibrary获取图像,在从图像库中选择图像之前,我想知道该特定图像的内存大小。我在用

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

{   

    UIImage * img = [info objectForKey:@"UIImagePickerControllerEditedImage"];
    size_t imageSize = CGImageGetBytesPerRow(img.CGImage) * CGImageGetHeight(img.CGImage);
    printf("\n the image size is :%zd",imageSize);
    [self useImage:img];
    [[picker parentViewController] dismissModalViewControllerAnimated:NO];
    UINavigationController* navController = self.navigationController;
    UIViewController* controller = [navController.viewControllers objectAtIndex:0];
    [controller dismissModalViewControllerAnimated:NO];


}

在这里,我正在计算的图像大小是不正确的,图像库中的图像大小与我正在计算的图像大小不同。在选择图片之前,我想知道图片的大小,有人能事先帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2011-06-21 17:22:08

Yo可以以JPEG格式获取所选图像的大小,如下所示:

代码语言:javascript
复制
UIImage * img = [info objectForKey:@"UIImagePickerControllerEditedImage"];
NSData *imageData = UIImageJPEGRepresentation(img, 1.0);
yourImgSize = [imageData length];

或以PNG格式

代码语言:javascript
复制
UIImage * img = [info objectForKey:@"UIImagePickerControllerEditedImage"];
NSData *imageData = UIImagePNGRepresentation(img, 1.0);
yourImgSize = [imageData length];

编辑

它将以字节为单位,您可以考虑将其除以1024,直到您到达所需的单元为止。

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

https://stackoverflow.com/questions/6428191

复制
相关文章

相似问题

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