4.5.2.3_黑白滤镜
4.5.2.3_黑白滤镜
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>黑白滤镜</title><style>body{background: #eee;}#canvas{background: #fff;cursor: pointer;margin-left: 20px;margin-top: 50px;box-shadow: 4px 4px 8px rgba(0,0,0,0.5);-webkit-box-shadow: 4px 4px 8px rgba(0,0,0,0.5);-moz-box-shadow: 4px 4px 8px rgba(0,0,0,0.5);}#controls{position: absolute;top: 20px;left: 50px;}</style></head><body><div id="controls"><input type="checkbox" id="colorToggleCheckbox" />黑白滤镜</div><canvas id="canvas" width="800" height="520"></canvas></body><script>var canvas = document.getElementById('canvas');var context = canvas.getContext('2d');var colorToggleCheckbox = document.getElementById('colorToggleCheckbox');var image = new Image();image.src = 'img/waterfall.jpg';image.onload = function(){drawInColor()}colorToggleCheckbox.onclick = function(){if(colorToggleCheckbox.checked){drawInBlackAndWhite();}else{drawInColor();}}//绘制彩色图像function drawInColor(){context.drawImage(image,0,0,image.width,image.height,0,0,canvas.width,canvas.height);}//绘制黑白图像function drawInBlackAndWhite(){var imageData = context.getImageData(0,0,canvas.width,canvas.height);var data = imageData.data;for(var i=0;i<data.length-4;i+=4){average = (data[i]+data[i+1]+data[i+2])/3;data[i] = average;data[i+1] = average;data[i+2] = average;}context.putImageData(imageData,0,0)}</script>
</html>
4.5.2.3_黑白滤镜相关推荐
- java用opencv实现滤镜_opencv滤镜-二值化实现黑白滤镜
黑白滤镜 黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化.实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于 ...
- opencv滤镜-二值化实现黑白滤镜
黑白滤镜 黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化.实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于 ...
- 基于HTML5 Canvas实现黑白滤镜
getImageData 和 putImageData 是 HTML5 Canvas两个比较常用的两个 API. 通过getImageData,可以得到canvas指定区域的像素点数组,每个像素点包 ...
- Android Camera使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)
第一篇 Android Camera使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜) 第二篇 Android Camera使用OpenGL ES 2.0和T ...
- canvas--putImageData--(灰色滤镜、黑白滤镜、反色滤镜、模糊滤镜、马赛克滤镜)
示例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...
- Android Camera API 2使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)
这段时间有点忙,一直没时间写第三篇教程,其实代码很早之前就写好了.本系列教程会有三篇文章讲解Android平台滤镜的实现方式,希望在阅读本文之前先阅读前面两篇文档. 第一篇 Android Camer ...
- Swift - 给图片添加滤镜效果(棕褐色老照片滤镜,黑白滤镜)
Core Image是一个强大的滤镜处理框架.它除了可以直接给图片添加各种内置滤镜,还能精确地修改鲜艳程度, 色泽, 曝光等,下面通过两个样例演示如何给UIImage添加滤镜. 1,棕褐色滤镜 - ...
- css给网页添加 黑白滤镜
<style type="text/css"> /*给网页添加 黑白滤镜*/ html{ /*兼容FF*/ filter ...
- android平台下OpenGL ES 3.0给图片添加黑白滤镜
OpenGL ES 3.0学习实践 android平台下OpenGL ES 3.0从零开始 android平台下OpenGL ES 3.0绘制纯色背景 android平台下OpenGL ES 3.0绘 ...
最新文章
- R语言使用pwr包的pwr.r.test函数对相关信息分析进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量
- IC设计通过system c 建模和 rtl级的有什么区别
- s:property 获取 ValueStack中的值
- CSS综合征病例,医药-churg-strauss 综合征 (css) 变应性嗜酸性肉芽肿.ppt
- java中map集合的修改_map集合修改其中元素(示例代码)
- python的特殊类_python - 类的特殊成员方法
- 2019年中国教育信息化行业研究报告
- POJ3734-Blocks【EGF】
- 获取文件夹下的文件名并存入txt中
- 前端学习(1288):nodejs模块化开发
- java 对象复制字段_利用Java反射机制实现对象相同字段的复制
- 作者:胡晓惠(1960-),男,中国科学院软件研究所研究员,天基综合信息技术实验室常务副主任...
- Bootstrap学习(二)
- iOS开发实战小知识点(四)
- 《NET 产品版权保护方案》非常全面, 《武汉.NET俱乐部》, 培训讲议
- BZOJ 1607 [Usaco2008 Dec]Patting Heads 轻拍牛头:统计 + 筛法【调和级数】
- 廖雪峰Java9正则表达式-2正则表达式进阶-3分组匹配
- datalist获取id传到下一个页面_如何在 Serverless 架构下优雅上传文件?
- Coin3D三维可视化教程2
- 关于chrome上的网银安全控件开发技术(chrome 调用本地dll)
热门文章
- System.IO.Stream 中Flush函数的用法
- 二、python时间序列数据的相减
- html5学习笔记——三、图文展示网页设计
- Cannot run program‘C:\Anaconda3\envs\...\python.exe’(in directory):CreateProcess error=2,系统找不到指定文件
- Python全栈:Django模板
- 开手游该如何选用服务器?
- networking /etc/network/interfaces 笔记221102
- 使用 Levenshtein 寻找彼此相似的字符串对
- mac 版VirtualBox 安装win10方法 全屏
- 【Cocos2D-x 3.5实战】坦克大战(1)环境配置