首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS -使用滤镜为黑白PNG图像添加颜色

CSS -使用滤镜为黑白PNG图像添加颜色
EN

Stack Overflow用户
提问于 2016-11-06 07:51:19
回答 3查看 16.2K关注 0票数 13

在CSS中是否可以使用滤镜为黑白图像添加颜色?我说的是像在Photoshop中一样使用滤镜,一个更好的例子是微软PowerPoint中的滤镜。

我想做的是:我有一个黑色图标的图像文件。我想给它添加一个滤镜,这样图像中的所有东西(背景都是透明的)将具有我通过使用滤镜选择的颜色,这样我就可以拥有我想要的任何颜色的图标。正如我在标题中所说,这是一个PNG图像,所以据我所知,我不能使用SVG滤镜。

我该怎么做呢?我正在尝试使用原始图标为网站写一个主题,但我被困在了这个问题上。

更新:我想使用原始的PNG图像。我不会用SVG或者预先编辑好的PNG来代替它们。

提前谢谢你!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-06 08:10:01

你可以用CSS过滤器做到这一点,尽管我根本不推荐这样做:

代码语言:javascript
复制
.colorizable {
    filter:
        /* for demonstration purposes; originals not entirely black */
        contrast(1000%)
        /* black to white */
        invert(100%)
        /* white to off-white */
        sepia(100%)
        /* off-white to yellow */
        saturate(10000%)
        /* do whatever you want with yellow */
        hue-rotate(90deg);
}

.example-clip {
    display: block;
    height: 20px;
    margin: 1em;
    object-fit: none;
    object-position: 0 0;
    width: 300px;
}

.original {
    filter: contrast(1000%);
}

body {
    background: #333;
}
代码语言:javascript
复制
<img class="colorizable example-clip" src="https://cdn.sstatic.net/Sites/stackoverflow/img/wmd-buttons.svg" />
<img class="original example-clip" src="https://cdn.sstatic.net/Sites/stackoverflow/img/wmd-buttons.svg" />

票数 26
EN

Stack Overflow用户

发布于 2017-10-13 13:56:58

请添加css

代码语言:javascript
复制
filter: brightness(0) invert(1);

对于可以工作的图像,将颜色更改为白色

票数 4
EN

Stack Overflow用户

发布于 2020-04-03 11:13:14

sepia()将黄色添加到黑白,其他滤镜现在可以使用该颜色。

代码语言:javascript
复制
.foo {
    filter: sepia(1) saturate(5) brightness(0.5) hue-rotate(135deg);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40444540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档