图像数据中的 "colorspace" 是什么?

What is "colorspace" in imagedata?

需要进行一些像素操作,但 ImageData 已更改。现在它有一个 colorSpace 属性.

这是什么,我该如何正常使用它?

只需在 Chrome 中获取一个 ImageData 对象即可重现。

这来自this proposal在canvas中实现颜色-space管理。

目前,canvas 卡在 legacy-srgb 8 位深度。有些显示器无法处理这种低级别的信息。

这仍然是一个提议,但目前提议的设置 2DContext 的 colorSpace 的语法是 ctx.getContext('2d', {colorSpace: 'color-space', pixelFormat: 'pixelFormat', linearPixelMath: boolean});

目前,还没有人实施它,但是 Chromium 和 chrome 正在实施中。
他们目前的实现只在 ImageData 对象上公开了一个 getter colorSpace 属性,在 Context2D 对象上公开了一个 getContextAttributes 方法,但是还没有办法为我们设置它(也许有一些启动标志,但我没有找到)。

注意:您需要在 chrome://flags 中将 Experimental canvas features 标志设置为 true 才能访问这些属性。

但是无论如何,这个 属性 应该不会改变您的代码。 ImageData 的所有默认参数仍然相同。