需要做一些像素操作,但imagedata已经改变。现在它有一个" colorspace"属性。 这是什么,以及如何正常使用它?
只需在chrome中获取一个imagedata对象即可重现。
答案 0 :(得分:6)
这来自this proposal以在画布中实现色彩空间管理。
目前,画布卡住了legacy-srgb
8位深度。有些监视器无法处理这种低级别的信息。
这仍然是一个提案,但目前提出的设置2DContext的colorSpace的语法是ctx.getContext('2d', {colorSpace: 'color-space', pixelFormat: 'pixelFormat', linearPixelMath: boolean});
目前,还没有人实施过,但铬和铬正在这样做
他们当前的实现只暴露了ImageData对象上的getter colorSpace
属性,以及Context2D对象上的getContextAttributes
方法,但还没有办法为我们设置它(也许有一些启动标志) ,但我没有找到它。)
注意:您需要在Experimental canvas features
中将chrome://flags
标记设置为true才能访问这些属性。
但无论如何,这个属性决不会改变你的代码。 ImageData的所有默认参数仍然相同。