blob: ffb6aa3ba88b854fa5a1b761545c15c692b9b136 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
---
title: ImageData
slug: Web/API/ImageData
translation_of: Web/API/ImageData
---
<div>{{APIRef("Canvas API")}}</div>
<p><code><strong>ImageData</strong></code> 接口描述 {{HTMLElement("canvas")}} 元素的一个隐含像素数据的区域。使用 {{domxref("ImageData.ImageData", "ImageData()")}} 构造函数创建或者使用和 canvas 在一起的 {{domxref("CanvasRenderingContext2D")}} 对象的创建方法: {{domxref("CanvasRenderingContext2D.createImageData", "createImageData()")}} 和 {{domxref("CanvasRenderingContext2D.getImageData", "getImageData()")}}。也可以使用 {{domxref("CanvasRenderingContext2D.putImageData", "putImageData()")}} 设置 canvas 的一部分。</p>
<h2 id="构造函数" style="margin-bottom: 20px; font-size: 2.14285714285714rem;">构造函数</h2>
<dl>
<dt>{{domxref("ImageData.ImageData", "ImageData()")}} {{experimental_inline}}</dt>
<dd>三个参数,第一个 是{{jsxref("Uint8ClampedArray")}}的实例,第二个和第三个表示的是width和height,必须保证Uint8ClampedArray的length = 4*width*height才不会报错,如果第一个参数Uint8ClampedArray没有的话,自动按照width和height的大小,以0填充整个像素矩阵。</dd>
<dd>使用给定的{{jsxref("Uint8ClampedArray")}}创建一个 <code>ImageData</code> 对象,并包含图像的大小。如果不给定数组,会创建一个“完全透明”(因为透明度值为0)的黑色矩形图像。注意,这是最常见的方式去创建这样一个对象,在 {{domxref("CanvasRenderingContext2D.createImageData", "createImageData()")}} 不可用时。</dd>
</dl>
<h2 id="属性" style="margin-bottom: 20px; font-size: 2.14285714285714rem;">属性</h2>
<dl>
<dt>{{domxref("ImageData.data")}} {{readonlyInline}}</dt>
<dd>{{jsxref("Uint8ClampedArray")}} 描述了一个一维数组,包含以 RGBA 顺序的数据,数据使用 <code style="font-style: normal;">0</code> 至 <code style="font-style: normal;">255</code>(包含)的整数表示。 </dd>
<dt>{{domxref("ImageData.height")}} {{readonlyInline}}</dt>
<dd>无符号长整型(<code>unsigned</code> <code>long</code>),使用像素描述 <strong style="font-family: courier new,andale mono,monospace; font-weight: bold;">ImageData</strong> 的实际高度。</dd>
<dt>{{domxref("ImageData.width")}} {{readonlyInline}}</dt>
<dd>无符号长整型(<code style="font-style: normal;">unsigned</code> <code style="font-style: normal;">long</code>),使用像素描述 <strong style="font-family: courier new,andale mono,monospace;">ImageData</strong> 的实际宽度。</dd>
</dl>
<h2 id="Specifications" name="Specifications" style="margin-bottom: 20px; font-size: 2.14285714285714rem;">规范描述</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('HTML WHATWG', "canvas.html#imagedata", "ImageData")}}</td>
<td>{{Spec2('HTML WHATWG')}}</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="浏览器兼容性" style="margin-bottom: 20px; font-size: 2.14285714285714rem;">浏览器兼容性</h2>
<div>{{CompatibilityTable}}</div>
<div>
<p>{{Compat("api.ImageData")}}</p>
</div>
<h2 id="参见" style="margin-bottom: 20px; font-size: 2.14285714285714rem;">参见</h2>
<ul>
<li>{{domxref("CanvasRenderingContext2D")}}</li>
<li>{{HTMLElement("canvas")}} 元素及其相关的接口 {{domxref("HTMLCanvasElement")}}。</li>
</ul>
|