首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何提取转储在NSData中的图像信息

如何提取转储在NSData中的图像信息
EN

Stack Overflow用户
提问于 2013-09-26 09:12:46
回答 2查看 623关注 0票数 0

我将NSData对象中图像的转储作为输入。现在,我想从这个对象中提取图像的相关信息,比如像素数,没有。每像素等的位数

有人能告诉我如何从NSData对象转储中提取这些信息吗?

P.S.:我已经看过NSData类的NSData文档,但无法分离出相关的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-26 09:23:46

因此,最简单的方法是从UIImage中实际构建NSData对象,然后从UIImage中提取信息。

代码语言:javascript
运行
复制
UIImage* image = [UIImage imageWithData:yourData];
NSLog(@"Image is %dx%d",image.size.width, image.size.height);

如果您只对图像的属性感兴趣,但不想实际构建它的表示并只获取这些属性,那么CGImageSource

代码语言:javascript
运行
复制
#import <ImageIO/ImageIO.h>

CGImageSourceRef imgSrc = CGImageSourceCreateWithData((__bridge CFDataRef)data, NULL);
size_t nbImages = CGImageSourceGetCount(imgSrc);
for(size_t idx=0; idx<nbImages; ++idx)
{
    NSDictionary* props = (__bridge NSDictionary*)CGImageSourceCopyPropertiesAtIndex(imgSrc, idx, NULL);
    NSLog(@"properties for image %lu in imageSource: %@", idx, props);
}
CFRelease(imgSrc);

要使其工作,显然要将ImageIO.framework添加到“与库连接的二进制文件”中

票数 1
EN

Stack Overflow用户

发布于 2013-09-26 09:17:34

将数据转换为UIImage,然后查看 post。

代码语言:javascript
运行
复制
UIImage *image = [UIImage imageWithData:data];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19024004

复制
相关文章

相似问题

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