簡體   English   中英

如何從 EXIF 編號創建 CGColorSpace?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM