我正在尝试使用用户选择的前景色和背景色(仅限于红色、绿色、蓝色、青色、洋红色、黄色、黑色和白色)对灰度图像进行动态着色。我想要的效果如下:
原始灰度 http://crawdad.cornell.edu/test/1.png 红色前景 http://crawdad.cornell.edu/test/2.png 红色前景,黄色背景 http://crawdad.cornell.edu/test /3.png
从左到右,这些显示原始灰度图像,用户选择红色作为背景颜色的图像,以及具有红色背景/黄色前景的相同图像。
每次用户选择颜色时在画布中重绘图像是不切实际的(图像将是 800x800 像素,我需要为动画创建 30 帧)。
我只针对最新版本的 WebKit、Firefox 和 Internet Explorer,所以 html5、css3 和 svg 效果很好。图片可以是直接的 html<img>
标签,也可以<image>
在<svg>
标签内(后者实际上更可取)。
一个理想的解决方案可能涉及 svg 过滤器(我没有经验,他们可以这样做吗?)。另一种可能性可能会将我的灰度图像视为 alpha 通道,其上方为纯色,下方为纯色(不确定我将如何即时执行此操作)。
对于有 Adobe Director 经验的人来说,我想要的效果和 Director 的 color 和 bgColor 属性一样。(我正在将一个项目从 Director 转换为 html5/javascript。)