【发布时间】:2013-01-09 15:16:51
【问题描述】:
我需要创建一个自定义 CSS 过滤器,它将黑白图像转换为具有两种自定义颜色的双色图像。
我想以这种方式应用过滤器(不确定这种语法是否可行,可能需要单独传递 6 个参数):
.duotone {
-webkit-filter: custom(none url(/filters/duotone.fs),
black_color [255, 0, 0] white_color [255, 192, 203]);
}
在这种情况下,黑色被替换为红色,白色和透明色(背景)都被替换为粉红色,所有的灰色阴影被替换为中间的颜色(使用直线曲线)。
也许甚至可以在没有外部文件的情况下在 CSS 中定义过滤器?
此过滤器的应用是在运行时将黑白图标转换为彩色图标。
关于如何做到这一点的例子很少,this one 非常通用,涵盖了更广泛的过滤器,specification 也不是那么容易理解。
有人可以发布一个这样或类似的工作过滤器吗?或者至少您可以向我指出一些与我的情况相关的更集中的 ColorMatrix 应用示例。
【问题讨论】:
-
哇,我没有意识到 WebKit 过滤器是如此先进(您可以像在 WebGL 中那样定义着色器)。似乎您可以将每种颜色映射到 [0,1] 中的值,然后将这些值映射到任意渐变,尽管渐变越复杂,出现奇怪伪影的可能性就越大。无论如何,听起来您想要的都是可行的;如果没有人首先回答着色器明确定义的工作解决方案,也许我会试一试并幸运(但不是今晚)。
-
我也认为这是可行的,实际上我想要的更简单。由于我的图像是黑色/透明(蒙版),我只需将黑色和灰色阴影移动到另一种颜色及其阴影,白色可以保持原样。请参阅下面的答案 cmets...
标签: css colormatrix colormatrixfilter