首先,我将解释我的情况,以便您更好地了解我的问题。我正在制作HTML5应用。我有一个画布,使用颜色选择器,你可以改变画布的颜色。现在我有一张我要放在画布上的图片,但是需要使用颜色选择器更改图片颜色。所以我需要替换那个图片上的黑色,然后把它放在画布上,这样它就会搞砸背景。
所以看起来像这样:
第一个颜色选择器 - 改变画布的颜色
第二个颜色选择器 - 用颜色选择器中的颜色替换图像上的黑色并将其放在画布上
现在我的问题是如何在不重新加载页面的情况下替换图像上的颜色。
我唯一的条件是不使用需要在设备上安装第三方软件的silverlight,flash,java或任何其他类似的技术。
提前致谢。 如果您不完全理解我的查询,请随时提问。
答案 0 :(得分:2)
我使用JS唯一解决方案的方法可能是:
触发用户点击画布并获取像素颜色(请参阅下面的链接以了解如何获取像素的颜色)并查看this answer to get the mouse position
用用户选择的颜色替换画布中的所有颜色。有关像素操作的一些示例:
经过一些画布实验后,我注意到,在所有浏览器中,使用画布的像素操作对于小图像也可能非常慢。所以要做的另一个实验可能是获得像素颜色然后: