css 实现图片灰度
先看效果鼠标移入图片中摁下向左移动 图片由灰度变为原图 向右移动原图变灰度
代码如下:尚未做优化
<style>
*{
margin:0;
padding:0;
}
#img{
width: 380px;
height: 380px;
background: url('https://mmbiz.qpic.cn/mmbiz_jpg/CbE2tPnf9Co6ibIibPzSUkAhHbUcKP4RXV4zY0SgzydNJGvBjVEPqdBW2W4uISVpZOB7icGxv0EhBkDc20BgW9eaQ/640?wx_fmt=jpeg') center/cover;
overflow: hidden;
}
#test{
mix-blend-mode: hue;
width:380px;
height:380px;
position: relative;
left:0;
}
img{
height:380px;
width:760px;
position: relative;
left:0px;
}
</style>
</head>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<body >
<div id='img'>
<div id="test">
<img src="test.png" alt="" draggable="false">
</div>
</div>
<script>
let startX
let offleft
$('#img').mousedown((ev)=>{
startX=$(ev)[0].clientX
offleft = $('img').offset().left
$('#img').bind('mousemove',Move)
})
$('#img').mouseup(()=>{
$('#img').unbind('mousemove',Move)
})
function Move(ev){
let endX=ev.clientX
let goX = startX - endX
let go= offleft - goX
$('img').css({"left": go+"px"})
}
</script>
</body>
初始这个效果想利用svg 实现或者canvas 实现,但是这2中方案后来都被否决了,因为这个灰度相当于透明的遮罩层,通过遮罩层是图片看起来变灰色,如果使用多张图片也不好实现,最终找到了这个属性<blend-mode>:
混合模式是当层重叠时计算像素最终颜色值的方法,每种混合模式采用前景和背景颜色值(分别为顶部颜色和底部颜色),执行其计算并返回颜色值。最终的可见层是对混合层中的每个重叠像素执行混合模式计算的结果。
图片灰度上层为下图:
当然直接使用背景颜色为灰色也可以实现;使用这个图片效果会跟好看一点
css 实现图片灰度的更多相关文章
- CSS 实现图片灰度效果 兼容各种浏览器
CSS 实现图片灰度效果 兼容各种浏览器如360浏览器 CSS实现图片灰度效果就是通过CSS样式让彩色图片呈现为灰色,相当于把一张图像的颜色模式调整为灰度,CSS可以通过以下几种方法来实现灰度效果. ...
- CSS 实现图片灰度效果
非原创-从网上收索出来的文章 CSS实现图片灰度效果就是通过CSS样式让彩色图片呈现为灰色,相当于把一张图像的颜色模式调整为灰度,CSS可以通过以下几种方法来实现灰度效果. 方式1. IE滤镜 img ...
- css 改变图片灰度颜色
我一直喜欢灰度图像因为我认为他们看起来更有艺术感.很多图片编辑如Photoshop很容易把你的彩色图像变成灰度.甚至有选择调整颜色深度和色调.不幸的是,这样的效果想做在网络上并不容易,因为浏览器有差异 ...
- 使用CSS将图片转换成黑白(灰色、置灰)z转
小tip: 使用CSS将图片转换成黑白(灰色.置灰) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.c ...
- 转: 用css把图片转为灰色图
小tip: 使用CSS将图片转换成黑白(灰色.置灰) by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.co ...
- 小tip: 使用CSS将图片转换成黑白(灰色、置灰)[转]
小tip: 使用CSS将图片转换成黑白(灰色.置灰) 这篇文章发布于 2012年08月19日,星期日,20:41,归类于 css相关, SVG相关. 阅读 159943 次, 今日 146 次 ...
- 学习笔记 第六章 使用CSS美化图片
第六章 使用CSS美化图片 6.1 在网页中插入图片 GIF图像 跨平台能力,无兼容性问题: 具有减少颜色显示数目而极度压缩文件的能力,不会降低图像的品质(无损压缩): 支持背景透明功能,便于图像 ...
- Django调用JS、CSS、图片等静态文件
zz 在下面的例子中,我们将media作为静态(CSS\JS\图片文件)文件的目录 方法一. 1.首先在settings.py文件中自定义参数 STATIC_PATH=’./media’ .(意为当前 ...
- Atitit 图像处理 灰度图片 灰度化的原理与实现
Atitit 图像处理 灰度图片 灰度化的原理与实现 24位彩色图与8位灰度图 首先要先介绍一下24位彩色图像,在一个24位彩色图像中,每个像素由三个字节表示,通常表示为RGB.通常,许多24位彩色图 ...
随机推荐
- 解决vs2013中MVC/WebApi不显示添加区域菜单选项
在构建项目过程中,安装各种package或者卸载的过程中,导致了添加区域菜单选项不显示,导致后面无法添加区域. 在网上查找各种资料,发现原来是工程文件(项目名.csproj)缺少mvc引用. 工程文件 ...
- HDU-6437 Videos
HDU-6437 题意:一天有n个小时,现在有m场电影,每场电影有一个愉悦值,有k个人,电影分2种类型A, B, 并且每一场电影只能一个人看, 一个人可以看无数次电影, 只要时间足够, 但是连续看同一 ...
- BZOJ-2535 航空管制 toposort
题目传送门 题解: 如果正着连边,可以发现最困难的点是ti不好处理. 所以我们连反边,然后将ti转换成前面有n-ti+1架飞机起飞了作为限制条件. 对于第一问,直接toposort 然后反着输出求出的 ...
- 2017ACM总结
首先对自己表示强烈的谴责, 这个时间应该是打cf的时间, 没有想到我又秀到了自己, 放弃了CF, 23333, 菜鸡wxk. 高中刚毕业的时候,听大学生们跪求老师不要给挂科,当时想的是,哇上了大学就不 ...
- UVA 494 Kindergarten Counting Game map
Everybody sit down in a circle. Ok. Listen to me carefully.“Woooooo, you scwewy wabbit!”Now, could s ...
- HDU dp递推 母牛的故事 *
母牛的故事 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 漫谈JavaScript中的作用域(scope)
什么是作用域 程序的执行,离不开作用域,也必须在作用域中才能将代码正确的执行. 所以作用域到底是什么,通俗的说,可以这样理解:作用域就是定义变量的位置,是变量和函数的可访问范围,控制着变量和函数的可见 ...
- [中秋]宇宙第一 IDE Visual Studio 了解一下
官网 https://visualstudio.microsoft.com/zh-hans/vs/ 文档 https://docs.microsoft.com/zh-cn/visualstudio/d ...
- springboot---redis缓存的使用
1.下载redis安装包,解压到电脑 2.启动redis 3.springboot application.properties中配置redis缓存 spring.redis.host=127.0. ...
- C++消息框架-基于sigslot
目录 一.简介 二.消息 三.发送者 1.发送消息函数 2.新增一个接收者函数 3.移除一个接收者函数 四.接收者 五.功能测试 1.消息接收类 2.测试代码 3.测试结果 六.源码 一.简介 上一篇 ...