*、项目中遇到一个图片需要灰度处理的需求。
于是乎,开发第一阶段实现方案是:
.gray { -webkit-filter: grayscale(90%); -moz-filter: grayscale(90%); -ms-filter: grayscale(90%); -o-filter: grayscale(90%); filter: grayscale(90%); filter: gray; }
本来挺高兴,因为大多数浏览器filter是有效的,然而让人抓狂的IE就是会给你开玩笑,因为IE10以上是不 支持filter,于是乎出现了第二版实现方案:
css调用 .gray { filter: url(gray.svg#grayscale); } gray.svg文件 <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> <filter id="grayscale"> <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/> </filter> </svg>
然而该方法我并未成功集成,郁闷中,最后无奈间找到了一个炒鸡链接找到了宝藏
引用js文件-可转储到本地哦,你懂的 <script src="http://james.padolsey.com/demos/grayscale/grayscale.js"></script> 调用该js中的函数 $("img”).grayscale();即可
该方法也有不完美的地方比如说图片还未加载完,那么执行灰度肯定是失败的,所以需要以下小操作
1、首先让图片每次都重新加载,时间戳什么的!!! 2、先执行灰度指令,然后再为img赋予src属性,所以此前可以先用srctemp属性暂存src应有的值。 3、更新src后就能看到效果了,棒棒的! 我的代码: if($(this).attr("过滤条件") != '') { $(this).load(function(){ grayscale($(this)); }); 缓存地址赋值给src $(this).attr("src",$(this).attr("srctemp")); }
然而在chrome中遇到了一个无限加载图片的问题,导致内存一直在狂飙,所以需要以下小操作
判断若是chrome的话就不需要该js的操作了! if(不是chrome) {//因为chrome对filter的支持较好,所以不执行灰度函数亦可 grayscale($(this)); } 原因是因为: (我发现的浏览器2017年9月18日14:55:36)chrome和火狐 需要这样调用document.createElement('canvas').getContext('2d') 而其他浏览器是document.createElement('canvas')[0].getContext('2d');
-------------------------------------------------------------------资源小仓库-------------------------------------------------------------
*、多种灰度方案的集合体
http://www.zhangxinxu.com/wordpress/2012/08/css-svg-filter-image-grayscale/
*、图片预加载参考方案
http://blog.csdn.net/kongjiea/article/details/24308053
*、判断浏览器的类型
//判断是什么类型的浏览器 function getBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; if (isOpera) { return "Opera" }; //判断是否Opera浏览器 if (userAgent.indexOf("Firefox") > -1) { return "FF"; } //判断是否Firefox浏览器 if (userAgent.indexOf("Chrome") > -1){ return "Chrome"; } if (userAgent.indexOf("Safari") > -1) { return "Safari"; } //判断是否Safari浏览器 if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) { return "IE"; }; //判断是否IE浏览器 }
至此2017年9月18日14:34:49,各种浏览器的不兼容告一段落,perfect!
相关推荐
虽然这个描述提到OpenCV3未被测试,但通常OpenCV的更新版本会保持向后兼容性,因此大部分在OpenCV2中工作的代码也应该能在OpenCV3上运行。 灰度化的基本原理是将彩色图像的每个像素由RGB三个分量(红色、绿色、蓝色...
对于更高级的图像处理需求,可以考虑使用PIL的升级版库,如Pillow,它增加了更多的功能和兼容性。 总结一下,Python中的PIL库提供了一种简单且高效的方法来处理灰度图像。通过调用`convert()`函数并传入参数'L',...
IMG可以存储RGB、CMYK、灰度等多种色彩空间的图像,并支持多光谱图像的存储。多光谱图像通常包含多个波段,每个波段对应特定的电磁辐射范围,对于分析地表特性非常有用。 **5. 压缩选项** IMG文件支持无损和有损...
1. **图像转换**:软件能够读取常见的图像文件格式,如BMP、JPG等,并将其转换为适合TFT LCD的特定格式,如RGB565或灰度等级。 2. **自定义设置**:用户可以根据目标LCD的分辨率、色彩深度和像素排列方式调整参数,...
`lv_img_conv`是LVGL库的一部分,它的主要功能是将标准的图像格式(如PNG、JPG、BMP等)转换为LVGL兼容的格式。这种转换包括压缩图像数据,减少内存占用,以及根据目标平台的特性调整图像色彩模式。此外,`lv_img_...
开发者可以根据项目需求和浏览器兼容性选择合适的技术。在给定的文件列表中,`demo.html`可能是实现这一效果的示例代码,`grayscale.svg`可能包含了SVG滤镜,`css`目录下的文件可能包含CSS样式,`images`目录下可能...
在网页设计中,有时为了表示哀悼或特殊纪念,我们需要将网页的颜色调整为黑白色或灰度模式。...通过以上方法,我们可以确保在各种浏览器环境下实现网页的黑白色或灰度显示,同时保证了与IE10和11的兼容性。
然后通过`[h w]=size(img)`获取图像的尺寸,其中h是高度,w是宽度。接着,`imgn=a2` 表示参考图像为a2,假设是经过某种处理的版本。这里`B=8`代表图像的位深度,通常8位表示256个灰度等级。`MAX=2^B-1` 计算出最大...
在网页设计中,将彩色图像转换为灰度图像可以增加艺术感或强调视觉焦点。本文将探讨三种将网页图片变为灰色的方法,适用于不同的浏览器环境。 1. CSS Filter CSS Filter属性是CSS3的一个功能,允许对元素应用各种...
这个脚本可能通过遍历页面上的所有元素,为每个元素创建一个新的`<img>`标签(如果元素是图片),或者创建新的CSS样式(如果元素不是图片),并应用灰度滤镜。它可能使用CSS的`-ms-filter`属性来兼容IE浏览器。 3. ...
同时,选择合适的图像库和方法取决于项目需求,例如性能要求、兼容性或者功能丰富程度。 总的来说,"huiduhua.rar_图像读入"这个项目涉及到了真彩图像的读取和灰度转换两个核心步骤,这是图像处理中的基础操作,...
对于浏览器兼容性,jquery.gray.js尤其考虑了旧版本的Internet Explorer(如IE6),这是一个在现代浏览器广泛普及之前常用的浏览器,由于其对某些Web标准的支持有限,所以兼容它的插件通常需要额外的技术处理。...
Pillow库是Python中最常用的一个图像处理库,它是 PIL(Python Imaging Library)的分支,提供了更友好的API和更广泛的兼容性。Pillow-1.4.zip 文件正是这个库的一个早期版本,包含了Pillow库的核心功能和相关组件。...
img = img.convert('L') # 转换为灰度图像 ``` 2. 图像滤波: ```python from PIL import ImageFilter blurred_img = img.filter(ImageFilter.BLUR) blurred_img.save('blurred_image.jpg') ``` 3. 图像处理...
例如,`size(img, 3)`如果返回的结果是1,那么该图像可能为灰度图像。 - **比较颜色通道**:对于RGB图像,有三个颜色通道(红、绿、蓝)。如果这三个通道的数据相同,那么图像可能是灰度的。可以使用`isequal`或`...
此外,TIFF还支持多种色彩空间,如灰度、RGB、CMYK等,这使其成为专业应用中的首选格式之一。 #### 读取单通道TIFF图像 单通道TIFF图像通常指的是灰度图像,这种类型的图像只包含一个颜色通道,即灰度值。处理这类...
注意:这里指定安装版本为3.4.14.47,确保与教程内容兼容。 #### 二、理解图像的基本结构 在计算机视觉领域,图像通常被表示为二维矩阵。每个矩阵中的元素对应着一个像素值。对于灰度图像来说,这个像素值通常是一...
在Python编程中,处理图像是一项常见的任务,而Pillow库就是Python中最流行的图像处理库之一。Pillow是 PIL(Python Imaging Library)的一个分支,它继承了PIL的强大功能,并进行了优化,使其更加易用,兼容性更强...