2011-02-08 196 views
0

我在想,如果有可能,如果我有喜欢的图像:enter image description here更改图像的色彩动态

我将能够改变的图像颜色的某些部分。例如,如果我想让蝴蝶结绿色和现在的红色带有黄色条纹,我是否必须制作一个新的图像,或者有什么方法可以沿着这个方向编程(优雅地)?我只是要求看看它是否可能,如果是,哪种语言最适合这样做?

请记住,这将是一个网站上的功能。

+0

难道会是一个着色应用? – 2011-02-08 21:07:42

回答

1

这并不容易,图像的方式。你无法告诉计算机哪部分是弓,哪部分是条纹,哪部分是盒子。但是,如果您预先为它们着色,则可以很容易地使用GD库或imagemagick进行颜色替换。你会用PHP来做到这一点。这里有一些例子说明你如何做到这一点,我会亲自进入imagemagick路线。

How can I replace one color with another in a png 24 alpha transparent image with GD

http://www.imagemagick.org/Usage/color_basics/#replace (这个例子中甚至有一个类似礼盒的使用情况下,嘿嘿)

0

尝试让您想要的部件变得更加透明。然后,使用第二种背景颜色将div设置为悬停状态。

0

,你可以:

  • 使用索引颜色图像和更改调色板中的颜色。

  • 使用@MT的建议,虽然它有点与多种颜色和锯齿状区域失控。

  • 挑选控制点并通过它们填充(“填充”)图像 - 使用水桶工具的程序化版本。

  • 使用@ profitphp的建议,这真是我最后一个更好的建议。

  • 放弃兼容性和使用新canvas element而它仍然有“酷”的因素:)

0

我想这是一个基于Web的应用程序的绘画;你需要一个人来告诉你这些部件是什么,以及他们想要着色的地方。

然后问题变成如何根据用户的要求执行flood fill

我可以建议最好是进行颜色填充服务器端,使用图像处理库 - 移交回的图像给用户:

enter image description here

没有访问像素数据JavaScript的能力的图像。

编辑:Performing flood fill with HTML Canvas