美文网首页
canvas滤镜之简单的取反

canvas滤镜之简单的取反

作者: 苏北苝 | 来源:发表于2016-11-12 17:53 被阅读0次

canvas滤镜之简单的取反

自己学习了一下canvas滤镜,编写一个简单的小界面,嘿嘿!

注释都在里面啦啦啦,感兴趣的来瞅瞅哦😯  欢迎指正

css样式:

#wrap{

width:600px;

height:600px;

background-color:#EEEEEE;

}

#sourceDiv{

float:left;

border:2pxsolidblue;

}

#canvasDiv{

float:right;

border:2pxsolidred;

}

body里面

js部分

window.onload=function() {

varimg=document.getElementById("img");

varcanvas=document.getElementById("canvas");

varbtn=document.getElementById("btn");

canvas.width=img.clientWidth;

canvas.height=img.clientHeight;

pen=canvas.getContext("2d");

pen.drawImage(img,0,0, canvas.width, canvas.height);//把图片放在画布上

}

//getImageData(x,y,width,height) 复制画布上指定矩形的像素数据 然后通过putImageData()将图像数据放回画布:

//返回ImageData对象,该对象拷贝了画布指定矩形的像素数据

//对于 ImageData 对象中的每个像素,都存在着四方面的信息rgba,

//color/alpha 信息以数组形式存在,并存储于 ImageData 对象的 data 属性中

//即 RGBA 值 eg:red=ImageData.data[0];

btn.onclick=function() {

varimgData=pen.getImageData(0,0, canvas.width, canvas.height);

varlen=canvas.width*canvas.height*4;

//遍历imgData.data改变像素值

for(vari=0; i

//每一个像素的color/alpha 信息

//取反色

imgData.data[i]=255-imgData.data[i];

imgData.data[i+1]=255-imgData.data[i+1];

imgData.data[i+2]=255-imgData.data[i+2];

imgData.data[i+3]=255;

}

// 将图像数据imgData放回画布

//putImageData(imgData,x,y,dirtyX,dirtyY,dirtyWidth,dirtyHeight);

//在画布上的位置x y在画布上放置图像的位置水平位置偏移量 垂直位置偏移量图像宽度

pen.putImageData(imgData,0,0);

}

相关文章

  • canvas滤镜之简单的取反

    canvas滤镜之简单的取反 自己学习了一下canvas滤镜,编写一个简单的小界面,嘿嘿! 注释都在里面啦啦啦,感...

  • canvas人脸识别

    前段时间学习了canvas的基础用法,写了一个时钟,滤镜,写滤镜的时候就在考虑,可不可以通过canvas播放视频,...

  • canvas 图像滤镜

    这期完成了图像的一些简单的滤镜,问题就在于,关于rgb颜色之间的一些转换。第二期完成视频的人脸识别附上代码gif过...

  • 简单的canvas图像处理

    本文将阐述如何使用canvas做一些最简单的图像处理,如水印添加、灰度滤镜等。 先用HTML代码创建一个canva...

  • 完全自定义控件-简单环形进度条制作

    昨天简单熟悉了下canvas的API,今天来做个小demo巩固下回顾完全自定义控件-Canvas之绘制基本形状 简...

  • 完全自定义控件-适配屏幕(好麻烦)的饼图控件

    前几天简单熟悉了下canvas的API,今天再来做个小demo巩固下回顾完全自定义控件-Canvas之绘制基本形状...

  • canvas像素操作之图片滤镜(5)

    滤镜之后的图: 实现原理: 这里面用到了canvas的一个方法:getImageData,这个方法可以获得图片的像...

  • canvas像素操作之视频滤镜(存疑)

    视频实时变灰 由于本篇文章笔者对一些地方存在疑问,不能解答,所以此文暂且作一个备份,有兴趣的可以琢磨琢磨:

  • 教你使用Canvas合成图片

    之前写过一篇有关Canvas图片处理的文章,主要说的是用HTML5中的Canvas实现类似PS中的滤镜功能,而今天...

  • iOS 渲染滤镜

    前言 介绍几种简单的滤镜, image API & Property 简单介绍思路 KJRenderInfo滤镜模...

网友评论

      本文标题:canvas滤镜之简单的取反

      本文链接:https://www.haomeiwen.com/subject/tbixyttx.html