putImageData()

将一个矩形区域的像素绘制到画布上

  ctx.putImageData(imagedata, dx, dy);
  ctx.putImageData(imagedata, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight);

参数

ImageData 包含像素值的数组对象

Number 源图像数据在目标画布中的位置偏移量(x 轴方向的偏移量).

Number 源图像数据在目标画布中的位置偏移量(y 轴方向的偏移量).

Number 在源图像数据中,矩形区域左上角的位置.默认是整个图像数据的左上角(x 坐标).

Number 在源图像数据中,矩形区域左上角的位置.默认是整个图像数据的左上角(y 坐标).

Number 在源图像数据中,矩形区域的宽度.默认是图像数据的宽度.

Number 在源图像数据中,矩形区域的高度.默认是图像数据的高度.


测验

putImageData(imagedata, 10, 10)

从左图中使用getImageData()获取ImageData对象,画到右图中

putImageData(imagedata, 10, 10, 0, 0, 50, 50)

drawImage()类似,从imagedata中选出一部分画到画布上

<<H5核心技术图形动画与游戏开发(David Geary)>> 194页

putImageData()方法不受全局设置的影响.这与drawImage()方法正好相反