[英]canvas not drawing images
我只想弄清楚如何在画布上绘制图像。 我按照W3学校的教程,但当我自己尝试它时似乎没有工作。 我将下面的代码复制并粘贴到HTML文件中,图像永远不会加载到画布中。 我将图片下载到同一目录中。 我一直在问,并在网上看,但似乎没有人知道问题是什么。 我正在使用chrome的更新版本(版本29.0.1547.76 m)。
<!DOCTYPE html>
<html>
<body>
<p>Image to use:</p>
<img id="scream" src="img_the_scream.jpg" alt="The Scream" width="220" height="277">
<p>Canvas:</p>
<canvas id="myCanvas" width="250" height="300" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
this.ctx.drawImage(img,10,10);
</script>
</body>
</html>
在使用drawImage时,您的图像可能尚未完成加载:
HTML
在img标签中添加onload处理程序:
<img id="scream" onload="draw()" src="...
然后处理它的功能:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
function draw() {
ctx.drawImage(img,10,10);
}
请注意,将脚本放在文档中的位置也很重要。
我建议你也在JavaScript中设置src
属性。 这使得处理onload
(或使用img.addEventListener('load', ...
)订阅的事件更“安全”。
您应该使用以下方法,首先让图像加载然后显示:
image.onload = function() {
pic.getContext('2d').drawImage('your image to display', 0,0);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.