跨浏览器图片灰度效果

灰度效果是一个常用的效果,在WEB开发的过程中,这个效果有以下几种实现方式:

1 准备两张图片,一张正常,一张灰度,通过Javascript进行交互控制

2 在IE浏览器中可以使用滤镜参数将图片灰度

element.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)';

3 在支持canvas的浏览器中,可以通过canvas的context进行动态设置:获取每个像素点的值,然后根据灰度的算法,将颜色转换成灰度

除了第一种方式,那么跨浏览器的灰度效果只能结合2和3.这里推荐一个Javascript脚本,使用起来很方便:

var myImg = document.getElementById('myImg'); myImg.onmouseover = function() { grayscale(this); }; myImg.onmouseout = function() { grayscale.reset(this); };
在线DEMO 里已经引用了该脚本.