像素操作

获取画布像素数据 getImageData() 方法用来获取画布中当前选中区域的像素数据。

getImageData(x, y, width, height)

 

ImageData 对象作为 getImageData() 方法的返回值,存储着canvas 对象真实的像素数据

// 获取左上角坐标为 (0,0),宽高为 50 的矩形区域 let imgData = ctx.getImageData(0, 0, 50, 50);

console.log( imgData ); // ImageData 对象

 

 putImageData() 用来写入画布的像素数据。

ctx.fillStyle = "orange"; ctx.fillRect(0, 0, 100, 100);

let imgData = ctx.getImageData(0, 0, 100, 100);

// 从 (100, 100) 开始绘制所得像素数据

ctx.putImageData(imgData, 100, 100)

 

createImageData() 用来创建新的像素数据。

// 创建一个宽高各 100 的像素数据区域

let imgData = ctx.createImageData(100, 100);

console.log(imgData);

// 把新创建出来的像素数据写入到画布(100,100)的位置

ctx.putImageData(imgData, 100, 100);

for(let i = 0; i < imgData.data.length; i++){

// 把每⼀个像素点的rgba值中的a值从0改成255

imgData.data[4 * i + 3] = 255;

}

ctx.putImageData(imgData, 100, 100);

posted @ 2017-09-29 17:15  结合是仙女  阅读(110)  评论(0编辑  收藏  举报