我有以下问题:
我在网站上的<img>
元素中有图片。它们都在 srgb 色彩空间中,这些信息都包含在所有这些中。
它们看起来就像在Safari,Chrome和Firefox中一样。
然后,我使用 drawImage(imageObject)
将图像加载到画布对象中。这些图像看起来与chrome和Firefox中<img>
元素中的图像完全相同(据我所知,这是w3c预期的行为)。
但是,画布元素中的这些图像在野生动物园中看起来不同!从我发现的情况来看,看起来颜色空间正在被丢弃/忽略,因此颜色变化非常糟糕。
我在 OSX 10.8.2 上使用 Safari 6.0.2
对于这种不良行为,是否有任何已知的解决方法?
谢谢!
规范说:
画布 API 只能在两个点执行颜色校正:将具有自己的伽玛校正和色彩空间信息的图像渲染到画布上时,将图像转换为画布使用的颜色空间(例如,将 2D 上下文的 drawImage() 方法与 HTMLImageElement 对象一起使用),以及将实际画布位图渲染到输出设备时。
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#color-spaces-and-color-correction
这是一个Safari错误。
我不相信有解决方法,除非您通过实现自己的过滤器手动调整像素颜色以匹配 Safari 中的色彩空间。