[英]How to create CGColorSpace from EXIF number?
我有一個帶有以下元數據的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
。
如何從這1
幻數創建一個CGColorSpace
?
好吧,目前我正在使用CoreImage
方法,因為它簡單快捷:
CIImage* ciImage = [CIImage imageWithData:rawData];
CGColorSpaceRef cs = ciImage.colorSpace;
如果使用預分配字節創建CIImage
,則沒有 memory 開銷。 如果不使用[CIContext render]
渲染,它也沒有性能開銷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.