canvas濾鏡之簡單的取反

canvas濾鏡之簡單的取反

自己學(xué)習(xí)了一下canvas濾鏡,編寫一個(gè)簡單的小界面,嘿嘿!

注釋都在里面啦啦啦,感興趣的來瞅瞅哦?? ?歡迎指正

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) 復(fù)制畫布上指定矩形的像素?cái)?shù)據(jù) 然后通過putImageData()將圖像數(shù)據(jù)放回畫布:

//返回ImageData對象,該對象拷貝了畫布指定矩形的像素?cái)?shù)據(jù)

//對于 ImageData 對象中的每個(gè)像素,都存在著四方面的信息rgba,

//color/alpha 信息以數(shù)組形式存在,并存儲(chǔ)于 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

//每一個(gè)像素的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;

}

// 將圖像數(shù)據(jù)imgData放回畫布

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

//在畫布上的位置x y在畫布上放置圖像的位置水平位置偏移量 垂直位置偏移量圖像寬度

pen.putImageData(imgData,0,0);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 一、圖形的組合方式 globalAlpha是一個(gè)介于0和1之間的值(包括0和1),用于指定所有繪制的透明度。默認(rèn)值...
    空谷悠閱讀 1,307評(píng)論 0 0
  • 線條樣式 繪制直線,第五章知識(shí)簡單回顧 lineWidth 設(shè)置或返回當(dāng)前的線條寬度,單位為像素 lineCap ...
    Zd_silent閱讀 494評(píng)論 0 0
  • 一:canvas簡介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標(biāo)簽 ②:HTML5 ...
    GreenHand1閱讀 4,707評(píng)論 2 32
  • 一、簡介 HTML5 中的定義:“它是依賴分辨率的位圖畫布,你可以在 canvas 上面繪制任何圖形,甚至加載照片...
    destiny0904閱讀 10,572評(píng)論 1 4
  • “今年過年回家嗎?”是啊,又快過年了,每到這個(gè)時(shí)候就會(huì)很糾結(jié)。回家嗎?我是喜歡故鄉(xiāng)的,雖然一直都沒弄明白個(gè)所以然來...
    酒鬼阿遼閱讀 195評(píng)論 0 0