aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/imagedata/index.html
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>