我想知道如果我有一个像
这样的图像是否可能我可以更改图像颜色的某些部分。例如,如果我想要蝴蝶结绿色和现在的红色带黄色条纹,我是否必须制作一个新的图像,或者有一种方法来编程(优雅地)沿着那条线?我只想询问它是否可能,如果是,最好用哪种语言?
请记住,这将是网站上的一项功能。
答案 0 :(得分: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 (这个例子甚至有一个与用例相似的礼盒,呵呵)
答案 1 :(得分:0)
尝试将您想要的部分保持透明。然后,使用第二种背景颜色将div设置为悬停状态。
答案 2 :(得分:0)
你可以:
使用索引颜色图像并更改调色板中的颜色。
使用@ MT的建议,虽然它有多种颜色和锯齿状区域无法控制。
选择控制点并通过它们填充(“填充”)图像 - 使用铲斗工具的编程版本。
使用@ profitphp的建议,这是我上一次的建议。
放弃兼容性并使用新的canvas element,但它仍然具有“酷”因素:)
答案 3 :(得分:0)
我认为这是一个基于网络的绘画应用程序;你需要一个人来告诉你这些部件是什么,以及他们想要着色的地方。
然后问题就变成了如何根据用户的请求执行flood fill。
我能建议的最好的是使用图像处理库执行洪水填充服务器端 - 将图像传回给用户:
没有javascript功能可以访问图像的像素数据。