HTML Canvas - putImageData() 方法



HTML Canvas 的putImageData()方法从 ImageData 对象获取可用数据,并将其绘制到 Canvas 元素上。

如果提供的是脏图形,则获取图形中的像素并将其打印到画布元素上。

语法

以下是 HTML Canvas putImageData() 方法的语法:

CanvasRenderingContext2D.putImageData(data, x, y, dx, dy, dwidth, dheight);

参数

以下是此方法的参数列表:

序号 参数和描述
1

data

包含像素数组值的 ImageData 对象。

2

x

ImageData 对象在画布中的 x 坐标位置。

3

y

ImageData 对象在画布中的 y 坐标位置。

4

dx

要从中提取 ImageData 对象的左上角的 x 坐标位置。

5

dy

要从中提取 ImageData 对象的左上角的 y 坐标位置。

6

dwidth

要绘制到画布上的矩形的宽度,默认为 ImageData 对象的宽度。

7

dheight

要绘制到画布上的矩形的高度,默认为 ImageData 对象的高度。

返回值

创建一个新的 ImageData 对象,该对象收集可用数据并将其绘制到 HTML Canvas 元素上。

示例

以下示例在画布元素上绘制一个圆圈,并使用此方法获取其一部分,然后在给定坐标处将新的ImageData对象元素绘制到画布上。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Reference API</title>
   <style>
      body {
         margin: 10px;
         padding: 10px;
      }
   </style>
</head>
<body onload="Context();">
   <canvas id="canvas" width="350" height="200" style="border: 1px solid black;"></canvas>
   <script>
      function Context() {
         var canvas = document.getElementById("canvas");
         var context = canvas.getContext("2d");
         context.arc(90, 90, 75, 1 * Math.PI, 5 * Math.PI);
         context.fillStyle = 'green';
         context.fill();
         var data = context.getImageData(100, 90, 50, 50);
         context.putImageData(data, 250, 25);
      }
   </script>
</body>
</html>

输出

以下代码在网页上返回的输出如下:

HTML Canvas PutImageData Method

示例

以下示例在画布元素上绘制一个矩形,并使用此方法获取其一部分,然后在给定坐标处将新的ImageData对象元素绘制到画布上。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Reference API</title>
   <style>
      body {
         margin: 10px;
         padding: 10px;
      }
   </style>
</head>
<body onload="Context();">
   <canvas id="canvas" width="350" height="200" style="border: 1px solid black;"></canvas>
   <script>
      function Context() {
         var canvas = document.getElementById("canvas");
         var context = canvas.getContext("2d");
         context.fillRect(15, 15, 200, 150);
         var data = context.getImageData(100, 90, 50, 50);
         context.putImageData(data, 250, 25, 15, 15, 75, 75);
      }
   </script>
</body>
</html>

输出

以下代码在网页上返回的输出如下:

HTML Canvas PutImageData Method
html_canvas_images.htm
广告