HTML5 canvas putImageData() 方法

w3school 在线教程

## HTML5 教程

- HTML5 教程
- HTML5 简介
- HTML5 视频
- HTML5 视频/DOM
- HTML5 音频
- HTML5 拖放
- HTML5 画布
- HTML5 SVG
- HTML5 画布 vs SVG
- HTML5 地理定位
- HTML5 Web 存储
- HTML5 应用缓存
- HTML5 Web Workers
- HTML5 服务器发送事件

## HTML5 表单

- HTML5 输入类型
- HTML5 表单元素
- HTML5 表单属性

## HTML5 测验

- HTML5 测验

## HTML5 参考手册

- HTML5 标签
- HTML5 属性
- HTML5 事件
- HTML5 视频/音频
- HTML5 画布
- HTML 有效 DTD

# HTML5 canvas putImageData() 方法

HTML5 Canvas 参考手册

## 实例

下面的代码通过 getImageData() 复制画布上指定矩形的像素数据，然后通过 putImageData() 将图像数据放回画布：

    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
    ctx.fillStyle="green";
    ctx.fillRect(10,10,50,50);

    function copy()
    {
    var imgData=ctx.getImageData(10,10,50,50);
    ctx.putImageData(imgData,10,70);
    }

亲自试一试

## 浏览器支持

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 putImageData() 方法。

注释：Internet Explorer 8 或更早的浏览器不支持 <canvas> 元素。

## 定义和用法

putImageData() 方法将图像数据（从指定的 ImageData 对象）放回画布上。

提示：请参阅 getImageData() 方法，它可复制画布上指定的矩形的像素数据。

提示：请参阅 createImageData() 方法，它可创建新的空白 ImageData 对象。

### JavaScript 语法：

    context.putImageData(imgData,x,y,dirtyX,dirtyY,dirtyWidth,dirtyHeight);

### 参数值

参数 | 描述
--- | ---
imgData | 规定要放回画布的 ImageData 对象。
x | ImageData 对象左上角的 x 坐标，以像素计。
y | ImageData 对象左上角的 y 坐标，以像素计。
dirtyX | 可选。水平值（x），以像素计，在画布上放置图像的位置。
dirtyY | 可选。水平值（y），以像素计，在画布上放置图像的位置。
dirtyWidth | 可选。在画布上绘制图像所使用的宽度。
dirtyHeight | 可选。在画布上绘制图像所使用的高度。

HTML5 Canvas 参考手册