如何在 JavaScript 中为画布指定颜色空间?

Posted

技术标签:

【中文标题】如何在 JavaScript 中为画布指定颜色空间?【英文标题】:How to specify color space for canvas in JavaScript? 【发布时间】:2021-11-15 08:54:39 【问题描述】:

JS画布使用的默认色彩空间是什么?

如何更改用于呈现 html 画布元素的色彩空间?

【问题讨论】:

【参考方案1】:

从Chrome version 94 开始,在创建画布2d 对象时,您现在可以提供options object 参数来指定您想要使用的颜色空间("srgb""display-p3"):

let canvas = document.getElementById("myCanvas");
let options =  colorSpace: "display-p3" ;
const context = canvas.getContext("2d", options);

另请注意,用于画布元素的默认色彩空间现在正式(而不是常规和隐含地)sRGB ("srgb")。

您可以观看 Chrome YouTube announcement 并阅读其 feature specification。 正如 YouTube 视频中所述,此功能也将在 Firefox 和 Safari 中提供。

相关链接:

画布色彩空间proposal on GitHub HTML color space specification

感谢 isherwood 和 Kaiido 的 cmets。

【讨论】:

前端开发者应该never link "here" 规格在html.spec.whatwg.org/multipage/…

以上是关于如何在 JavaScript 中为画布指定颜色空间?的主要内容,如果未能解决你的问题,请参考以下文章