直接使用PNG格式
您提到怀疑PDF文件中包含PNG图像。我建议您直接使用PNG格式而不是将其包装在PDF中。
当PDF文件在设备上部署时,它们会被转换为PNG格式。这种渲染可能会应用特定的颜色配置文件(PDF和颜色管理是一个广泛的话题)。
此外,渲染本身可能无法产生您期望的结果,例如请参见:https://bjango.com/articles/idontusepdfs/
每个通道16位
苹果公司的人机界面指南规定,必须使用每个通道16位的 Display P3 颜色配置文件,并以 .png 格式导出图像。
如果适当,使用每个通道16位的 Display P3 颜色配置文件,并以 .png 格式导出图像。
详见: https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color/#color-management
最后,我想再提及两个您可能已经在使用的设置:
压缩
在图像资源的属性检查器中,应选择“无损压缩”。
色域
将色域切换为“sRGB和Display P3”,然后确保图像位于 .xcasset 文件中的 Display P3 位置。
使用 Sketch 导出 PNG 进行测试
通过观察色度图,可以看出P3颜色空间在绿色方面具有更大的色域。
由于我不确定能否识别两个颜色空间之间的差异,因此我进行了以下实验:
- 在 Sketch 中插入一个画板
- 创建颜色为 #00FF00 的绿色矩形
- 在 <文件/更改颜色配置文件> 下分配 Display P3 颜色配置文件
- 选择矩形并单击 导出所选内容
- 选择 .png 格式且不要交错
然后我用 sRGB ICE61966-2.1 配置文件重复了同样的过程。
我在 ColorSync 实用程序中检查了这两个 .png 文件。按下图像信息工具栏按钮,可以看到正确的 ColorSync 配置文件已被分配。
在 Affinity Photo 中,我在 <文档/颜色格式> 下检查了每个通道的位数。对于两个 .png 文件,它们的每个通道均为8位,因此我创建了两个额外的 .png 文件,并将其命名为16位。
然后,我将这4个 .png 文件添加到一个 .xcassets 文件夹中,并使用以下设置:
- 压缩:'无损'
- 比例:'单一比例'
- 色域:'sRGB和Display P3'
- 将.png文件分配到正确的插槽(sRGP或Display P3)中。
然后我部署到iPhone X。
结果:实际上,我可以看到绿色矩形之间的差异。 'Display P3'确实有更饱和的绿色。
我将同样的内容导出到旧版iPhone上,在那里我找不到sRGB和Display P3图像之间的任何区别。
我发现直接从Sketch获得的8位变体也可以工作,因此每个通道16位似乎不是硬要求。