Roi*_*lia 9 xcode uiimageview color-space ios asset-catalog
我花了好几个小时试图弄明白这个.
目标
显示P3 PDF资产UIImageView(PDF颜色空间中的PDF为100%).
问题
我正在创建一个P3 PDF资产并添加到Xcode中.在资产目录中,资产以正确的P3颜色显示.UIImageView在iPhone X 内部使用资产并在其上运行(物理设备,支持P3色彩空间)时,显示的资产是SRGB而不是P3.
有没有人有关于如何解决这个问题的信息?
任何帮助将受到高度赞赏.
投资回报率
直接使用PNG
您提到您怀疑 PDF 中存在 PNG。我建议直接使用 PNG,而不使用包装 PDF。
当 PDF 部署到设备上时,Apple 将其渲染为 PNG。此渲染可能会应用特定的颜色配置文件(PDF 和颜色管理是一个广泛的主题)。
此外,渲染本身可能不会产生您期望的结果,请参见https://bjango.com/articles/idontusepdfs/
每像素 16 位(每通道)
Apple 的人机界面指南规定必须使用每像素 16 位并以 .png 格式导出图像。
在适当的情况下,使用每像素 16 位(每通道)的 Display P3 颜色配置文件并以 .png 格式导出图像。
最后,我想提一下您可能已经在使用的另外两个设置:
压缩
在图像资源的属性检查器中,您应该选择“无损”。
色域
将色域切换为“sRGB 和 Display P3”,然后确保您的图像位于 .xcasset 文件中的“Display P3”插槽中。
使用 Sketch 的 PNG 导出进行测试
看一下色度图,可以发现 P3 色彩空间对于绿色具有更大的色域。
由于我不确定是否能识别出两种颜色空间之间的差异,所以我做了以下实验:
然后我做了同样的事情,但使用了 sRGB ICE61966-2.1 配置文件。
我在 ColorSync 实用程序中检查了两个 .png(可以在 /Applications/Utilities 下找到)。按图像信息工具栏按钮可以看到分配了正确的 ColorSync 配置文件。
在 Affinity Photo 中,我在 <文档/颜色格式> 下检查了每个通道的位数。它适用于每个通道 8 位的 .png,因此我创建了两个每个通道 16 位的附加 .png,并相应地命名了它。
然后我将 4 个 .png 添加到 .xcassets 文件夹中,设置如下:
然后我部署到 iPhone X。
结果:实际上我可以看到绿色矩形之间的差异。“Display P3”确实具有更饱和的绿色。
我将同样的内容导出到旧 iPhone,在其中我无法发现 sRGB 和 Display P3 图像之间的任何差异。
我发现有趣的是,直接来自 Sketch 的 8 位变体也可以工作,因此每个通道 16 位似乎并不是硬性要求。
| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |