如何在 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 中为画布指定颜色空间?的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像设置为画布背景而不是让它在 Android Studio/JavaScript 中填充颜色

如何在 VSCode 用户设置中为深色和浅色主题指定颜色

如何在javascript中为每个频谱栏添加类?

如何使用 WebGL 在画布上设置像素的颜色?

如何使用 jquery/javascript 在summernote 编辑器中为 textarea 限制第一个位置的空间

如何在OpenCV中为InRange阈值选择颜色的最佳HSV值