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_黑白滤镜相关推荐

  1. java用opencv实现滤镜_opencv滤镜-二值化实现黑白滤镜

    黑白滤镜 黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化.实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于 ...

  2. opencv滤镜-二值化实现黑白滤镜

    黑白滤镜 黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化.实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于 ...

  3. 基于HTML5 Canvas实现黑白滤镜

    getImageData 和 putImageData 是 HTML5  Canvas两个比较常用的两个 API. 通过getImageData,可以得到canvas指定区域的像素点数组,每个像素点包 ...

  4. Android Camera使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)

    第一篇 Android Camera使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜) 第二篇 Android Camera使用OpenGL ES 2.0和T ...

  5. canvas--putImageData--(灰色滤镜、黑白滤镜、反色滤镜、模糊滤镜、马赛克滤镜)

    示例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title& ...

  6. Android Camera API 2使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)

    这段时间有点忙,一直没时间写第三篇教程,其实代码很早之前就写好了.本系列教程会有三篇文章讲解Android平台滤镜的实现方式,希望在阅读本文之前先阅读前面两篇文档. 第一篇 Android Camer ...

  7. Swift - 给图片添加滤镜效果(棕褐色老照片滤镜,黑白滤镜)

    Core Image是一个强大的滤镜处理框架.它除了可以直接给图片添加各种内置滤镜,还能精确地修改鲜艳程度, 色泽, 曝光等,下面通过两个样例演示如何给UIImage添加滤镜. 1,棕褐色滤镜  -  ...

  8. css给网页添加 黑白滤镜

    <style type="text/css">     /*给网页添加 黑白滤镜*/     html{         /*兼容FF*/         filter ...

  9. android平台下OpenGL ES 3.0给图片添加黑白滤镜

    OpenGL ES 3.0学习实践 android平台下OpenGL ES 3.0从零开始 android平台下OpenGL ES 3.0绘制纯色背景 android平台下OpenGL ES 3.0绘 ...

最新文章

  1. R语言使用pwr包的pwr.r.test函数对相关信息分析进行效用分析(power analysis)、在已知效应量(effect size)、显著性水平、效用值的情况下计算需要的样本量
  2. IC设计通过system c 建模和 rtl级的有什么区别
  3. s:property 获取 ValueStack中的值
  4. CSS综合征病例,医药-churg-strauss 综合征 (css) 变应性嗜酸性肉芽肿.ppt
  5. java中map集合的修改_map集合修改其中元素(示例代码)
  6. python的特殊类_python - 类的特殊成员方法
  7. 2019年中国教育信息化行业研究报告
  8. POJ3734-Blocks【EGF】
  9. 获取文件夹下的文件名并存入txt中
  10. 前端学习(1288):nodejs模块化开发
  11. java 对象复制字段_利用Java反射机制实现对象相同字段的复制
  12. 作者:胡晓惠(1960-),男,中国科学院软件研究所研究员,天基综合信息技术实验室常务副主任...
  13. Bootstrap学习(二)
  14. iOS开发实战小知识点(四)
  15. 《NET 产品版权保护方案》非常全面, 《武汉.NET俱乐部》, 培训讲议
  16. BZOJ 1607 [Usaco2008 Dec]Patting Heads 轻拍牛头:统计 + 筛法【调和级数】
  17. 廖雪峰Java9正则表达式-2正则表达式进阶-3分组匹配
  18. datalist获取id传到下一个页面_如何在 Serverless 架构下优雅上传文件?
  19. Coin3D三维可视化教程2
  20. 关于chrome上的网银安全控件开发技术(chrome 调用本地dll)

热门文章

  1. System.IO.Stream 中Flush函数的用法
  2. 二、python时间序列数据的相减
  3. html5学习笔记——三、图文展示网页设计
  4. Cannot run program‘C:\Anaconda3\envs\...\python.exe’(in directory):CreateProcess error=2,系统找不到指定文件
  5. Python全栈:Django模板
  6. 开手游该如何选用服务器?
  7. networking /etc/network/interfaces 笔记221102
  8. 使用 Levenshtein 寻找彼此相似的字符串对
  9. mac 版VirtualBox 安装win10方法 全屏
  10. 【Cocos2D-x 3.5实战】坦克大战(1)环境配置