最近,我一直在编程,并且使用document.getElementById(canvasId).getContext("2d").getImageData(x, y, 1, 1).data;命令遇到了浏览器之间的不一致问题。我有一个图像,该图像的一部分被着色为rgb(246,247,247)(我在photoshop中设置了颜色)。我正在调用getImageData方法以获取单击位置的图像数据,查看颜色,如果颜色在一定范围内(我已在数组中定义),它将在该区域上绘制一个点。我在IE中运行此程序,它按预期运行,颜色显示为rgb(246,247,247)。当我在Chrome或Firefox中使用完全相同的图像运行完全相同的代码时,就会出现问题,浏览器表示颜色分别为rgb(246,247,246)和rgb(246,247,246)。浏览器为什么说颜色与实际颜色不同?还有另一种方法可以可靠地获取画布中像素的颜色吗?
提前致谢!

最佳答案

出于记录,Web浏览器都呈现不同的颜色。确保颜色始终相同的最佳方法是使用网络安全色,并将图像导出为没有Gamma通道的PNG-8。

08-15 16:52