PutImageData() | HTML<canvas>方法

定义与用法

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

提示:

  • 请参阅 getImageData() 方法,它可复制画布上指定的矩形的像素数据。
  • 请参阅 createImageData() 方法,它可创建新的空白 ImageData 对象。

语法格式

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


示例代码

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

<script>
    var c = document.getElementById("myCanvas");
    var ctx = c.getContext("2d");
    ctx.fillStyle = "red";
    ctx.fillRect(10, 10, 50, 50);
    function copy() {
        var imgData = ctx.getImageData(10, 10, 50, 50);
        ctx.putImageData(imgData, 10, 70);
    }
</script>

效果展示:

您的浏览器不支持 HTML5 canvas 标签。

亲自试试


浏览器支持

方法
PutImageData()YesYesYesYesYes

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

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


参数值

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

相关