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

时间:2015-07-02 10:50:57

标签: javascript c# html5 asp.net-mvc-4 html5-canvas

我正在尝试运行此代码,但点击后没有任何反应。

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

<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>

1 个答案:

答案 0 :(得分:0)

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

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