非常教程

JavaScript 参考手册教程

HTML canvas createImageData() 方法

HTML canvas createImageData() 方法

HTML canvas createImageData() 方法

HTML canvas createImageData() 方法

Canvas 对象

实例

创建 100*100 像素的 ImageData 对象,其中每个像素都是红色的,然后把它放到画布上:

YourbrowserdoesnotsupporttheHTML5canvastag.

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var imgData=ctx.createImageData(100,100);
for (var 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);

尝试一下 »

浏览器支持

Internet Explorer

HTML canvas createImageData() 方法

HTML canvas createImageData() 方法

HTML canvas createImageData() 方法

HTML canvas createImageData() 方法

Internet Explorer 9、Firefox、Opera、Chrome 和 Safari 支持 createImageData() 方法。

注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。


定义和用法

createImageData() 方法创建新的空白 ImageData 对象。新对象的默认像素值 transparent black。

对于 ImageData 对象中的每个像素,都存在着四方面的信息,即 RGBA 值:

R - 红色(0-255)
G - 绿色(0-255)
B - 蓝色(0-255)
A - alpha 通道(0-255; 0 是透明的,255 是完全可见的)

因此 ,transparent black 表示 (0,0,0,0)。

color/alpha 信息以数组形式存在,并且由于数组包含了每个像素的四条信息,所以数组的大小是 ImageData 对象的四倍:width*height*4。(获得数组大小有更简单的办法,就是使用 ImageDataObject.data.length)

包含 color/alpha 信息的数组存储于 ImageData 对象的 data 属性中。

提示:在操作完成数组中的 color/alpha 信息之后,您可以使用 putImageData() 方法将图像数据拷贝回画布上。

实例:

把 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;


JavaScript 语法

有两个版本的 createImageData() 方法:

1. 以指定的尺寸(以像素计)创建新的 ImageData 对象:

JavaScript 语法: var imgData=context.createImageData(width,height);

2. 创建与指定的另一个 ImageData 对象尺寸相同的新 ImageData 对象(不会复制图像数据):

JavaScript 语法: var imgData=context.createImageData(imageData);

参数值

参数 描述
width ImageData 对象的宽度,以像素计。
height ImageData 对象的高度,以像素计。
imageData 另一个 ImageData 对象。


HTML canvas createImageData() 方法

Canvas 对象

HTML canvas createImageData() 方法
JavaScript 参考手册

JavaScript 参考手册提供了完整的 JavaScript 对象、浏览器对象、HTML DOM 对象手册。手册包含了每个对象、属性、方法的实例。

JavaScript 参考手册目录

1.Navigator 对象
2.HTML DOM Document 对象
3.JavaScript Array 属性构造器
4.JavaScript length 属性
5.JavaScript constructor 属性
6.JavaScript unshift() 方法
7.JavaScript valueOf() 方法
8.JavaScript sort() 方法
9.JavaScript splice() 方法
10.JavaScript toString() 方法
11.JavaScript Array indexOf() 方法
12.JavaScript join() 方法
13.JavaScript Array lastIndexOf() 方法
14.JavaScript pop() 方法
15.JavaScript push() 方法
16.JavaScript reverse() 方法
17.JavaScript shift() 方法
18.JavaScript slice() 方法
19.JavaScript Array 对象
20.JavaScript concat() 方法
21.JavaScript Boolean prototype 构造器
22.JavaScript Boolean constructor 属性
23.JavaScript getMilliseconds() 方法
24.JavaScript getHours() 方法
25.JavaScript getFullYear() 方法
26.JavaScript getDay() 方法
27.JavaScript getDate() 方法
28.JavaScript Date prototype 属性
29.JavaScript constructor 属性
30.JavaScript Boolean 对象
31.JavaScript valueOf() 方法
32.JavaScript toString() 方法
33.JavaScript UTC() 方法
34.JavaScript getUTCFullYear() 方法
35.JavaScript toLocaleString() 方法
36.JavaScript toString() 方法
37.JavaScript toTimeString() 方法
38.JavaScript toUTCString() 方法
39.JavaScript valueOf() 方法
40.JavaScript toISOString() 方法
41.JavaScript toJSON() 方法
42.JavaScript toLocaleDateString() 方法
43.JavaScript toLocaleTimeString() 方法
44.JavaScript setUTCHours() 方法
45.JavaScript setUTCMilliseconds() 方法
46.JavaScript setUTCMinutes() 方法
47.JavaScript setUTCMonth() 方法
48.JavaScript setUTCSeconds() 方法
49.JavaScript toDateString() 方法
50.JavaScript getSeconds() 方法
51.JavaScript getMonth() 方法
52.JavaScript getMinutes() 方法
53.JavaScript setMinutes() 方法
54.JavaScript setMonth() 方法
55.JavaScript setSeconds() 方法
56.JavaScript Date 对象
57.JavaScript setTime() 方法
58.JavaScript setUTCDate() 方法
59.JavaScript setUTCFullYear() 方法
60.JavaScript getUTCSeconds() 方法
61.JavaScript parse() 方法
62.JavaScript setDate() 方法
63.JavaScript setFullYear() 方法
64.JavaScript setHours() 方法
65.JavaScript setMilliseconds() 方法
66.JavaScript getUTCDay() 方法
67.JavaScript getUTCDate() 方法
68.JavaScript getTimezoneOffset() 方法
69.JavaScript getTime() 方法
70.JavaScript E 属性
71.JavaScript getUTCHours() 方法
72.JavaScript getUTCMilliseconds() 方法
73.JavaScript getUTCMinutes() 方法
74.JavaScript getUTCMonth() 方法
75.JavaScript random() 方法
76.JavaScript round() 方法
77.JavaScript sin() 方法
78.JavaScript sqrt() 方法
79.JavaScript tan() 方法
80.JavaScript atan2() 方法
81.JavaScript ceil() 方法
82.JavaScript cos() 方法
83.JavaScript exp() 方法
84.JavaScript floor() 方法
85.JavaScript log() 方法
86.JavaScript max() 方法
87.JavaScript min() 方法
88.JavaScript pow() 方法
89.JavaScript SQRT1_2 属性
90.JavaScript SQRT2 属性
91.JavaScript abs() 方法
92.JavaScript acos() 方法
93.JavaScript asin() 方法
94.JavaScript atan() 方法
95.JavaScript Math 对象
96.JavaScript LN2 属性
97.JavaScript LN10 属性
98.JavaScript LOG2E 属性
99.JavaScript LOG10E 属性
100.JavaScript PI 属性