【发布时间】:2014-12-17 11:23:17
【问题描述】:
我注意到 HTML5 Canvas 在使用 drawImage 时会在某些浏览器上添加轻微变色。我知道它发生在 Google Chrome 和 Mozilla Firefox 上。 Internet Explorer 和 Chrome Android 似乎运行良好。这是什么原因造成的?我的上下文globalAlpha 是1.0。变色通常是 1-5 RGB 值关闭。注意使用Canvas的fillRect等没有问题。
进一步检查,这似乎更多是浏览器结合 Photoshop 导出图像的问题,与 Canvas 本身无关。
var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d");
var img = new Image();
img.src = "http://i.imgur.com/NTRjnRb.png";
img.onload = function(){
ctx.fillStyle = "#FFF";
ctx.fillRect(0, 0, 450, 800);
ctx.drawImage(img, 0, 0);
}
</script>
【问题讨论】:
-
您使用的图片的文件扩展名是什么?
-
能分享一下相关代码吗?会更容易尝试复制
-
我使用的是 PNG。 @Parker 当然,已添加到帖子中。
-
奇怪,看起来 Chrome 正在这样做,即使没有涉及 Canvas。似乎与画布本身无关。
-
上图,当我在画布上运行它,截取它,并使用颜色选择器对其进行采样时,两种颜色都保持不变。我想知道这是否与原始图像的编码有关。