0

我正在维护一个简单的应用程序,它使用 puppeteer 和无头 Chromium 来截取屏幕截图。要求之一是我们截取具有比 sRGB 更广色域的背景颜色的屏幕截图。

我们设法使用强制颜色配置文件运行无头 chromium 实例display-p3-d65,但似乎无法在标准 sRGB 色域之外的 css 中实际声明颜色(例如color(),WebKit(和 Safari)支持,但 Chromium 和 Chrome 不支持)。

有没有办法在具有广色域的 css 中实际声明颜色并将其渲染为铬?

4

1 回答 1

0

CSS 颜色 ICC 配置文件和其他东西的规范刚刚没有草稿。对 P3-D65 的支持(Apple 使用 sRGB 参数(“para”)曲线,它与 v2 ICC sRGB 配置文件的 1DLUT 相同)在 Chrome 中受到限制。

只需将其动态分配给图像文件https://cielab.xyz/thumbnails/Display%20P3.icc。简单的。但!请注意,此类配置文件中存在负 XYZ 值(红色原色的负 Z 值),因为 v5 之前的 ICC 配置文件中的 XYZ 值始终在色度上适应 D50 而不是 Display P3 中使用的 D65,Chrome 不支持或 Firefox,除了在 MacOS 平台上。

同样对于 PNG,我建议编写 gAMA 和 cHRM 块(具有 ICC 配置文件块的 iCCP 会覆盖这些块,但仍然如此)。

Safari 已经支持 Display P3 CSS。

于 2021-09-26T16:42:46.187 回答