2017-06-15 120 views
0

我正在尋找一種方法來檢查所提供的IC卡顏色配置文件數據CGColorSpacecopyICCData()方法。檢查iOS上的CGColorSpace ICC顏色配置文件數據

具體而言,我在iOS上將PNG圖像加載到UIImage s,並試圖找到一種方法來使用let iccData:CFData? = aUIImage.cgImage!.colorSpace!.copyICCData()來確定圖像文件的灰度係數。這是針對使用3D渲染的遊戲 - 如果源圖像具有標準的2.2伽瑪,我會將圖像數據加載到紋理中,如sRGB (例如MTLPixelFormatRGBA8Unorm_sRGB,如果伽馬值爲1.0,我會改爲將其加載爲線性紋理(例如,MTLPixelFormatRGBA8Unorm

注:路過一家UIImage/CGImage的渲染系統(SceneKit /金屬),並讓它整理出來不會在這裏工作,因爲該解決方案:1。一些我做的渲染是組裝2D圖像轉換爲3D紋理,這是我需要處理原始數據的東西,而不是我只能從標準圖像文件格式讀取的東西; 2.我特別試圖將gamma-1.0圖像傳遞到渲染系統,以避免sRGB→線性轉換(呈現在線性空間中)的開銷。

另外:手動ICC解析解決方案,Apple-API使用解決方案和開源庫建議都是可接受的答案。這不是專門針對工具推薦的查詢 - 任何可以工作的解決方案都是很好的解決方案 - 但在我的研究中,手動ICC解析會很笨拙,而Apple的API似乎沒有公開任何ICC屬性。所以我相信最可能的答案是指向某些庫的指針,我無法通過Google或GitHub或CocoaPods或StockOverflow找到該庫,並且很樂意接受。

回答

相關問題