首页 > 文章列表 > 如何将Data URL绘制到HTML画布中?

如何将Data URL绘制到HTML画布中?

125 2023-09-14

Data URLs是一种以文本格式表示图像文件的方式。这使得在应用程序之间传输数据变得容易,并且可以将图像存储在内存中,而无需将其写入磁盘。使用Data URL在HTML画布上绘制图像相对简单,只需几行代码即可完成。

该过程涉及创建一个Image对象,并在使用drawImage()方法将其绘制在画布上之前,将其源属性设置为Data URL字符串。本文将提供逐步说明,介绍如何从数据URL绘制图像到HTML画布。

在Canvas中使用drawImage()

使用HTML5的drawImage()方法来显示画布图片或视频。您可以使用此功能来显示整个图像或仅显示部分图像。但在图像可以在画布上进一步加载之前,必须首先加载它。

语法

以下是drawImage()的语法-

context.drawImage(img,x,y);

考虑以下示例,以更好地了解如何从数据URL绘制图像到HTML画布

Example

的中文翻译为:

示例

在下面的示例中,我们正在运行脚本,从URL上绘制图像到画布上。

<!DOCTYPE html>
<html>
   <body>
      <canvas id="tutorial"></canvas>
      <script>
         var c = document.getElementById("tutorial");
         var ctx = c.getContext("2d");
         var image = new Image();
         image.onload = function() {
            ctx.drawImage(image, 0, 0);
         };
         image.src = 'https://www.tutorialspoint.com/images/logo.png';
      </script>
   </body>
</html>

当脚本被执行时,它将生成一个输出,其中包含从脚本提供的URL获取的画布上绘制的图像。

Example

的中文翻译为:

示例

下面是另一个示例,我们在画布上显示了来自源URL的部分图像

<!DOCTYPE html>
<html>
   <body>
      <style>
         canvas{
            border : 2px solid #82E0AA ;
         }
      </style>
      <canvas id='tutorial' width=500 height=500></canvas>
      <script>
         var canvas = document.getElementById('tutorial');
         var context = canvas.getContext('2d');
         var image = new Image();
         image.onload = () => {
            context.imageSmoothingEnabled = false;
            context.clearRect(0, 0, canvas.width, canvas.height);
            context.drawImage(image, 30, 40, 50, 50, 150, 220, 200, 200);
         };
         image.src = 'https://www.tutorialspoint.com/images/logo.png';
      </script>
   </body>
</html>

运行上述脚本后,输出窗口将弹出,显示从URL获取的画布上绘制的网页上的图像。