【问题标题】:How to completely gray out an image with css?如何用css使图像完全变灰?
【发布时间】:2012-12-18 23:57:43
【问题描述】:

我有这张图片:。

我需要将其变灰以使其看起来像这样:。

使用此 SO 问题中的回复:Gray out image with CSS?

 opacity : 0.4;
 filter: alpha(opacity=40); /* msie */

我明白了:

将过滤器属性设置为filter: grayscale(100%) 仍然会改变颜色:

无论如何我可以让它完全变灰吗?

【问题讨论】:

    标签: css image


    【解决方案1】:

    听起来您正在尝试更改图像中的实际像素。我相信您正在寻找的是类似的东西。

    Pixastic(颜色调整)

    https://github.com/jseidelin/pixastic

    http://www.pixastic.com/lib/docs/actions/coloradjust/

    或 PaintbrushJS(颜色)

    https://github.com/mezzoblue/PaintbrushJS

    http://mezzoblue.github.com/PaintbrushJS/demo/

    【讨论】:

    • nate_weldon,PaintBrushJS 用颜色来解决这个问题,但它只适用于页面加载。您知道如何在页面加载后(通过鼠标单击)以编程方式更改它吗?
    【解决方案2】:

    您将无法使用 CSS 执行此操作。您需要先以一种或另一种方式处理图像以获得去除渐变的纯灰色。

    更好的方法是根据需要制作一个版本,然后使用 css/js 将颜色版本替换为处理后的版本。

    另一种选择是使用画布和卷积来处理它,或者逐个像素地处理它。

    然而,像素方法并不是最快的孩子:
    http://www.onaluf.org/en/entry/13

    但也许通过使用各种技术对其进行处理可以得到你想要的结果:
    http://www.html5rocks.com/en/tutorials/canvas/imagefilters/

    【讨论】:

    • 第二个链接非常棒。
    猜你喜欢
    • 2010-09-22
    • 1970-01-01
    • 2015-07-03
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    相关资源
    最近更新 更多