Canvas createImageData() 方法
示例
创建一个 100*100 像素的 ImageData 对象,其中每个像素都是红色
JavaScript
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
const imgData = ctx.createImageData(100, 100);
for (let i = 0; i < imgData.data.length; i += 4)
{
imgData.data[i+0] = 255;
imgData.data[i+1] = 0;
imgData.data[i+2] = 0;
imgData.data[i+3] = 255;
}
ctx.putImageData(imgData, 10, 10);
自己动手试一试 »
描述
createImageData()
方法创建一个新的空白 ImageData 对象。新对象的像素值是透明黑色:RGBA(0, 0, 0, 0)。
ImageData 对象中的每个像素有四条信息,即 RGBA 值
R - 红色(0-255)
G - 绿色(0-255)
B - 蓝色(0-255)
A - Alpha 通道(0-255;0 表示透明,255 表示完全可见)
颜色/alpha 信息存储在一个数组中,其大小是 ImageData 对象的 4 倍:宽度*高度*4。
包含颜色/alpha 信息的数组存储在 ImageData 对象的 data 属性中。
示例
将 ImageData 对象中的第一个像素设置为红色
imgData = ctx.createImageData(100, 100);
imgData.data[0] = 255;
imgData.data[1] = 0;
imgData.data[2] = 0;
imgData.data[3] = 255;
将 ImageData 对象中的第二个像素设置为绿色
imgData = ctx.createImageData(100, 100);
imgData.data[4] = 0;
imgData.data[5] = 255;
imgData.data[6] = 0;
imgData.data[7] = 255;
语法
createImageData() 方法有两个版本
创建具有指定尺寸的新 ImageData 对象
context.createImageData(width, height) |
创建具有与另一个 ImageData 对象相同尺寸的新 ImageData 对象(不复制 ImageData 对象)
context.createImageData(imageData) |
参数值
参数 | 描述 |
---|---|
width | 新 ImageData 对象的宽度(像素) |
height | 新 ImageData 对象的高度(像素) |
imageData | 另一个 ImageData 对象 |
返回值
一个 imageData 对象 |
浏览器支持
<canvas>
元素是 HTML5 标准(2014)。
createImageData()
支持所有现代浏览器
Chrome | Edge | Firefox | Safari | Opera | IE |
是 | 是 | 是 | 是 | 是 | 9-11 |
❮ Canvas 参考