2012-10-04 95 views
1

没有人知道一种颜色的PNG图像的方式,并保持透明度?所以例如,如果你有这个图像在这里:http://clipartist.org/RSS/openclipart.org/2012/March/June/11-Saturday/wheat_black_and_white_background_wall_paper_wallpaper-555px.png动态色调PNG图像

有没有一种方法(最好使用PHP或jQuery)动态地添加颜色到图像的黑色部分,同时保持透明像素?

+0

在像素仅部分透明的情况下,您需要做什么? – Brad

+0

理想情况下,它们会相对于像素的不透明度进行着色 - 但是,如果它们的颜色都一样,那就没问题了。我正在尝试着色这样的分隔线http://xtiaan.splash.me/images/divider4.b.png – Chris

+0

所以你真正想要的是一个各种各样的面具。 – Brad

回答

1

使用svg文件代替这些简单的背景图像。一个svg文件可以在php中或者在javascript/jquery中动态改变,通过改变形状的css颜色。这可以在svg本身或外部样式表中完成。

1

据我所知,PHP的GD支持不支持颜色替换,除非您一次一个地对所有像素进行插值,比较值并有条件地将其替换为新颜色。不过,它会很慢。

结账imagemagick's replace function。您可以编写一个简单的PHP脚本,通过该命令将图像运行到标准输出直接发送到浏览器。 (请参阅PHP passthru function。)