建议动态更改图像颜色区域

时间:2011-02-02 16:35:38

标签: javascript graphics svg png

我正在建立一个在线工具,人们可以通过选择各种部件(框架,前叉,座椅等)的颜色来“建造他们的自行车”。我开始使用带有白色框架和黑色组件的自行车的干净JPG图像。我正在寻找一些关于采取哪种技术路径的指导。一些选项是:

  • 具有Alpha透明度的PNG,将背景图像放置在各个区域。
  • 将我的JPG转换为SVG并使用JS库执行颜色转换
  • 使用Raphael-JS绘制图像

我已经完成了拉斐尔最广泛的测试,但我不太清楚这一切是如何结合在一起的。他们的邮件列表上的一个善良的人提供了一个非常好的概念证明(see here),但结果代码与他们的服务器上的ajax调用相关联,以呈现结果,因此我无法在本地重现结果。 / p>

最终目标是使用不同颜色的自行车看起来很逼真。如果有人知道类似项目的例子,用JavaScript调整真实图像的颜色区域,我将非常感激。

2 个答案:

答案 0 :(得分:1)

另一个选项是HTML 5画布。除Internet Explorer之外的所有浏览器都支持它(IE 9也支持它)。使用canvas标签,您可以对图像执行自己的像素操作。

但是如果你有照片般逼真的图像,那么我猜你会有更好的效果,使用优秀的设计师创建的alpha透明PNG,并将它们叠加在顶部以切换颜色。

如果你不知道canvas标签,那么你可以在这里找到一个很好的教程:

https://developer.mozilla.org/en/canvas_tutorial

答案 1 :(得分:0)

我的第一个倾向是使用SVG,可能使用Raphael(使用SVG)。如果它可以工作,已经完成你想要的更高级别的库应该可以节省大量时间,而不是更低级别的图像重排。 希望您可以采用给定的概念证明并更改依赖于ajax的部分,对吧?

如果没有,如果PNG是静态的,使用透明PNG也是一个不错的选择。但是你可能知道,IE 6无法处理alpha PNG,并且仍有很大的市场份额。