使用JavaScript更改图像颜色是否可行?

5

我想知道是否有一种使用JavaScript重新着色图像的方法。我认为只要能够读取/写入颜色值,任何访问图像像素的方式都可以。它应该在Firefox中运行;如果在IE中无法运行,那也没关系,但是如果可以运行将会是一个好处。

感谢您的帮助!

4个回答

6
你可以使用画布(canvas)更改图像。
有数十个 示例 在线演示如何将图像转换为灰度。没有任何理由不能将颜色更改为其他颜色。

谢谢,我会调查这个问题。 - Chris Laplante

2
除了Alex的回答(例如使用尚未广泛支持的<canvas> - 咳咳IE咳咳),您可以使用JS将一张图片更换为另一张,并给人一种幻觉,认为它只是相同的图片重新上色。其他图片可以随时可用,也可以通过服务器动态创建,如果您的服务器端语言支持图像处理(例如PHP可以使用GD进行处理)。

有没有办法利用data URI方案来做类似这样的事情? - Chris Laplante
然而,我想在data URI格式中操作图像会非常占用处理器资源。 - Chris Laplante
@Simple 是的,非常的。我正在尝试找到一个类似的帖子,在那里有人问过这样的问题,我向该用户解释了为什么这不可能实现。 - NullUserException
@SimpleCoder:几乎所有支持Data URI的浏览器也支持canvas。所以你还是可以使用<canvas>来实现这个功能。 - slebetman

1

0
修改显示图像的常用方法是在每种所需颜色的图像中创建副本,然后使用javascript或CSS来交换它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接