HTML Canvas - getImageData() 方法



HTML Canvas 的getImageData() 方法是 Canvas 2D API 的一部分,它获取指定 Canvas 元素区域的数据并返回一个 ImageData 对象。

此方法不受任何变换方法的影响,并且只有当像素位于 Canvas 内部时才会返回ImageData 对象。

语法

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

CanvasRenderingContext2D.getImageData(x, y, width, height);

参数

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

序号 参数和方法
1

x

要提取ImageData 的矩形的左上角的 x 坐标。

2

y

要提取ImageData 的矩形的左上角的 y 坐标。

3

width

要提取ImageData 的矩形的宽度。

4

height

要提取ImageData 的矩形的宽度。

返回值

使用 Canvas 中存在的ImageData 对象和给定大小返回一个新的ImageData 对象。

示例

此示例创建一个矩形,并使用 HTML Canvas getImageData 方法将 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.fillStyle = 'purple';
         context.fillRect(10, 10, 200, 150);
         var data = context.getImageData(50, 50, 50, 50);
         context.putImageData(data, 250, 10);
      }
   </script>
</body>
</html>

输出

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

HTML Canvas GetImageData Method

示例

此示例绘制文本,并使用getImageData() 方法将 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="600" height="200" style="border: 1px solid black;"></canvas>
   <script>
      function Context() {
         var canvas = document.getElementById("canvas");
         var context = canvas.getContext("2d");
         context.font = '55px Verdana';
         context.fillText('This text is filled', 10, 50);
         var data = context.getImageData(10, 10, 100, 50);
         context.putImageData(data, 10, 80);
         var data1 = context.getImageData(200, 10, 100, 50);
         context.putImageData(data1, 150, 80);
         var data2 = context.getImageData(300, 10, 100, 50);
         context.putImageData(data2, 300, 80);
      }
   </script>
</body>
</html>

输出

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

HTML Canvas GetImageData Method
html_canvas_images.htm
广告