canvas繪畫的基本處理方式

改變背景的顏色!

var canvas = document.getElementById("myCanvas");

var context = canvas.getContext("2d");

//getImageData()取的原始圖像數(shù)據(jù) 的像素

//有四個參數(shù):第一二個參數(shù),開始獲取像素的x,y坐標,第三四個參數(shù),獲取像素點的寬高。

var img = new Image();

img.src = "img/01.png";

img.onload = function() {

context.drawImage(img, 0, 0);

//起始位置和,范圍

var ImageData = context.getImageData(0, 0, img.width, img.height);

//data屬性是一個數(shù)組,保存著圖像中每一個像素的數(shù)據(jù)。

//在data數(shù)據(jù)中,每一個像素用4個元素來保存,

var data = ImageData.data;

for(var i = 0; i < data.length; i += 4) {

var r = data[i];

var g = data[i + 1];

var b = data[i + 2];

/*gray=(r+g+b)/5? 除以的顏色可以改變顏色!*/

var gray=(r+g+b)/3;

data[i]=gray;

data[i+1]=gray;

data[i+2]=gray;

}

//putImageData()方法把圖像數(shù)據(jù)繪制到畫布上,有三個參數(shù)

//第一個參數(shù)獲取的ImageData,第二三個參數(shù),,要放到畫布上的x,y坐標

context.putImageData(ImageData,0,0);

}

/*data屬性是一個數(shù)組,保存著圖像中每一個像素的數(shù)據(jù)。

* 在data數(shù)據(jù)中,每一個像素用4個元素來保存,分別代表紅、綠、藍和透明度。

* 數(shù)組中的每個元素都是介于0和255之間的,能夠直接訪問到原始圖像數(shù)據(jù),

* 就能夠以各種方式來操作這些數(shù)據(jù)。

*/

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容