ios - 如何从 EXIF 编号创建 CGColorSpace?
问题描述
我有CGImageSourceRef
以下元数据:
// CGImageSourceCopyMetadataAtIndex
<CGImageMetadata 0x10225ed50> (
exif:SubsecTimeDigitized = 000
exif:ColorSpace = 1
// and more ...
)
// CGImageSourceCopyPropertiesAtIndex
{
ProfileName = "sRGB IEC61966-2.1";
"{Exif}" = {
ColorSpace = 1;
};
// and more ...
}
这里的“ColorSpace”是“1”。我见过 的所有构造函数CGColorSpaceRef
,它们都没有从数字创建颜色空间。
CGColorSpaceCreateWithName(CFStringRef name)
取一个名字,它不是枚举,只是一堆硬编码的字符串,比如kCGColorSpaceDisplayP3
.
如何CGColorSpace
从这个1
幻数创建一个?
解决方案
好吧,目前我正在使用CoreImage
方法,因为它简单快捷:
CIImage* ciImage = [CIImage imageWithData:rawData];
CGColorSpaceRef cs = ciImage.colorSpace;
CIImage
如果使用预分配的字节创建,则没有内存开销。如果不渲染,它也没有性能开销,例如使用[CIContext render]
.
推荐阅读
- html - div 标签样式不适用于
- python - AttributeError:“函数”对象没有属性“_sa_instance_state”
- codeigniter - 在 Codeigniter 上获取带有条件的会话数据
- javascript - Node.js Express 错误
- jbpm - 从源代码构建后如何运行 jbpm?
- python-3.x - 如何将熊猫系列与 DataFrame 合并
- javascript - 文件请求打开在 Django 中不起作用
- python - 为什么当我更改线宽参数时图形没有改变
- csv - 如何删除 CSV 标头中的多余空格
- php - 为什么我无法在主机名和 .php 之间连接?