canvas畫素操作

2021-10-02 20:29:25 字數 1295 閱讀 7387

獲得乙個包含畫布場景畫素資料的imagedata對像,它代表了畫布區域的物件資料

ctx.getimagedata(sx, sy, sw, sh)

sx:將要被提取的影象資料矩形區域的左上角 x 座標。

sy:將要被提取的影象資料矩形區域的左上角 y 座標。

sw:將要被提取的影象資料矩形區域的寬度。

sh:將要被提取的影象資料矩形區域的高度。

把資源和**放到伺服器上就不會出現該問題了。

imagedata物件中儲存著canvas物件真實的畫素資料,它包含以下幾個唯讀屬性:

width:寬度,單位是畫素

height:高度,單位是畫素

data:uint8clampedarray型別的一維陣列,每4個資料是乙個畫素點的rgba資料;

包含著rgba格式的整型資料,範圍在0至255之間(包括255)

r:0 --> 255(黑色到白色)

g:0 --> 255(黑色到白色)

b:0 --> 255(黑色到白色)

a:0 --> 255(透明到不透明)

注意:canvas中的透明度值是0-255;

該方法去對場景進行畫素資料的寫入;

putimagedata(myimagedata, dx, dy)

dx和dy引數表示你希望在場景內左上角繪製的畫素資料所得到的裝置座標

1、ctx.createimagedata(width, height);

width:

imagedata 新物件的寬度。

height:

imagedata 新物件的高度。

預設建立的是乙個透明的;

2、ctx.createimagedata(imagedata);

imagedata:

從現有的 imagedata 物件中,複製乙個和其寬度和高度相同的物件。

影象自身不允許被複製。

//	獲取指定畫布區域的畫素資料

var imagedata = ctx.getimagedata(0,0,100,100);

//預設建立出來 rgba(0,0,0,0)

imagedata = ctx.createimagedata(100,100);

for(var i=0;i// 把修改後的imagedata重新寫入canvas畫布中。

ctx.putimagedata(imagedata,100,100)

canvas畫素的操作

在canvas中的畫素操作 到目前為止,我們尚未深入了解canvas畫布真實畫素的原理,事實上,你可以直接通過imagedata物件操縱畫素資料,直接讀取或將資料陣列寫入該物件中 得到場景畫素資料 getimagedata 獲得乙個包含畫布場景畫素資料的imagedata對像,它代表了畫布區域的物件...

canvas畫素操作函式封裝

傳入乙個imagedata物件,x軸的座標,y軸的座標 function getpxinfo imgdata,x,y 獲取某個畫素呼叫函式 示例 var imgdata ctx.getimagedata 0,0,canvas.width,canvas.height 獲取 49,49 的畫素的rgba...

canvas學習筆記八 畫素操作

imagedata物件包含了乙個區域內的canvas的畫素資訊。它包含以下可讀屬性 width canvas的寬度,單位是畫素。height canvas的高度,單位是畫素。data 乙個uint8clampedarray的一維陣列,包含了每個畫素的rgba值。什麼是uint8clampedarra...