2017-06-15 84 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找到该库,并且很乐意接受。

回答

相关问题