功能分类: Canvas Applab JavaScript 少儿编程
获取在当前激活画布上的指定开始位置 (x, y)
指定 width
宽度及指定 height
高度的像素级别图像数据。
在 APP 应用里使用 canvas 画布,并在画布里绘制图片或图形,这样做有一个好处就是,通过这种方式,你可以在像素级别上获取图像数据并进行相应处理,而这已经足够你创建包含一些常见的图片处理功能的应用。
返回数据对象包含以下字段内容:
// 获取并输出画布上 (5x5) 矩形区域图像数据
createCanvas('canvas1');
setStrokeColor('red');
rect(0,0,5,5);
var canvasData=getImageData(0, 0, 5, 5);
console.log(canvasData);
示例代码:图像复制 复制画布上的图像到另一个画布。
// 复制画布上的图像到另一个画布。
createCanvas('canvas1', 200, 200);
setFillColor("red");
circle(100, 100, 50);
var canvasData=getImageData(0, 0, 200, 200);
createCanvas('canvas2', 200, 200);
setPosition('canvas2', 0, 200);
setActiveCanvas('canvas2');
putImageData(canvasData, 0, 0);
示例代码:图像处理 复制画布上的图像,修改后输出到另一个画布。
// 复制画布上的图像,修改后输出到另一个画布。
createCanvas('canvas1', 200, 200);
setFillColor("red");
circle(100, 100, 50);
var canvasData=getImageData(0, 0, 200, 200);
canvasData.width=400;
createCanvas('canvas2', 200, 200);
setPosition('canvas2', 0, 200);
setActiveCanvas('canvas2');
putImageData(canvasData, 0, 0);
示例代码:获取图像红色值 获取并输出指定像素上的红色颜色值。
// 获取并输出指定像素上的红色颜色值。
createCanvas('canvas1', 200, 200);
setFillColor("red");
circle(100, 100, 50);
var canvasData=getImageData(0, 0, 200, 200);
var redValue = getRed(canvasData, 100, 100);
console.log(redValue);
示例代码:图像处理 修改像素红色值为 0 并输出。
// 修改像素红色值为 0 并输出
createCanvas('canvas1', 200, 200);
setFillColor("red");
circle(100, 100, 50);
var canvasData=getImageData(0, 0, 200, 200);
var redValue = getRed(canvasData, 100, 100);
console.log(redValue);
setRed(canvasData, 100, 100, 0);
putImageData(canvasData, 0, 0);
console.log(getRed(canvasData, 50, 50));
示例代码:图像处理 去除画布上像素所有红色值。
// 去除画布上像素所有红色值。
createCanvas('canvas1', 200, 200);
setFillColor("red");
circle(100, 100, 50);
var canvasData=getImageData(0, 0, 200, 200);
removeRed(canvasData);
// 去掉 'thisImageData' 里所有红色值,一行行循环进行处理
function removeRed(thisImageData){
for(var y=0; y < thisImageData.height; y++) {
for(var x=0; x < thisImageData.width; x++) {
setRed(thisImageData, x, y, 0);
}
putImageData(thisImageData, 0, 0);
}
}
getImageData(startX, startY, endX, endY);
名称 | 类型 | 必需 | 参数描述 |
---|---|---|---|
x | number | Yes | 指定获取图像数据开始位置横轴坐标。 |
y | number | Yes | 指定获取图像数据开始位置纵轴坐标。 |
width | number | Yes | 指定获取图像数据图像区域宽度。 |
height | number | Yes | 指定获取图像数据图像区域高度。 |
图像数据对象。返回一个包含当前激活画布指定区域图像信息的图形数据对象。
设计
模式里创建画布,或在代码里使用 createCanvas() 方法创建画布。