热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使从彩色到灰度的图像在会合点处具有淡入淡出

如何解决《使从彩色到灰度的图像在会合点处具有淡入淡出》经验,为你挑选了1个好方法。

我试图制作一个从彩色到灰度的图像在颜色和灰度之间的交汇点处有淡化或平滑的东西而不是尖锐的线条.

这就是我所拥有的:http://jsfiddle.net/gmU9y/104/

.image-container { position:relative; display:inline-block; } .image-grey { display:block; -webkit-filter: grayscale(100%); filter: grayscale(100%); } .image-container:after { background-image: url("https://img.php1.cn/3cd4a/1e618/bdf/129913486c37ddf6.jpeg"); content: ""; height: 30%; left: 0; position: absolute; top: 0; width: 100%; }

(注意颜色和灰度之间的汇合处有一条尖锐的线)


我需要它看起来更像这样:在此输入图像描述

我真的需要帮助,任何意见或建议将不胜感激.谢谢



1> vals..:

您可以使用背景混合模式获得此功能(但您需要将图像设置为背景,而不是图像元素)

它是如何工作的 :

我们在第一层有图像.它上面的另一层是从白色到黑色的渐变,混合模式是倍增的.乘以黑色给出黑色,乘以白色保持原始图像.所以现在,我们有一个图像,我们可以保留或丢弃原始颜色,并决定基于梯度光度.第三层也是图像,现在混合为光度.应用于黑色底座上,将图像显示为灰度.应用于同一图像,将给出彩色图像.您可以设置更改渐变级别所需的灰度

.test {
    width: 400px;
    height: 400px;
    background: url("https://img.php1.cn/3cd4a/1e618/bdf/129913486c37ddf6.jpeg"), 
      linear-gradient(0deg, black 0%, black 20%, white 80%, white 100%), 
      url("https://img.php1.cn/3cd4a/1e618/bdf/129913486c37ddf6.jpeg"); 
    background-position: 0px 0px;
    background-size: cover, 100% 100%, cover;
    background-blend-mode: luminosity, multiply;
}

推荐阅读
author-avatar
NarratorWang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有