单击按钮在画布上绘制图像不起作用

本文关键字:绘制 图像 不起作用 按钮 单击 | 更新日期: 2023-09-27 18:00:43

我试图运行这段代码,但点击后什么也没发生。

我认为主要的问题是图像加载,因为当我尝试绘制从标签加载的图像是可行的。

<html>
  <body>
    <canvas id="myCanvas" width="445" height="312"
      style="border:1px solid #d3d3d3;">
      Your browser does not support the HTML5 canvas tag.
    </canvas>
    <p><button onclick="myCanvas()">Try it</button></p>
    <script>
      function myCanvas() {
        var c = document.getElementById("myCanvas");
        var ctx = c.getContext("2d");
        var img = new Image();
        img.src = "~/Images/my-meme.jpg";
        ctx.drawImage(img, 0, 0, img.width, img.height);
      }
    </script>
  </body>
</html>

单击按钮在画布上绘制图像不起作用

在使用图像之前,您需要等待图像加载

var img = new Image();   // Create new img element
img.addEventListener("load", function() {
    // execute drawImage statements here
}, false);
img.src = 'myImage.png'; // Set source path

请参阅https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Using_images