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