1

我有一个反复出现的问题。每当我尝试访问我的画布元素的 2d 上下文(已经在我的 html 中)来绘制图像时,我都会收到一个控制台错误,告诉我无法绘制为 null。(不能调用null的方法'drawImage')我正在第三次重写,现在在jquery中从JS开始。尝试在 html 中移动脚本。我不明白。确定 canvas 元素已经存在,因为 DOM 已经准备好了?

$(document).ready(function(){

function setup(){

var canvas = document.getElementById("canv1");
console.log(canvas.toString());
//this grabs hold of the canvas api
var canvcontext = canvas.getContext('2D');
console.log(canvcontext.toString());


burpy = new Image();
burpy.onload = canvcontext.drawImage(burpy,400,100);
burpy.src = 'burpy.png';
};


setup();
});

的HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd"
    >
<html lang="en">
<head>
    <title>JAVASCRIPT TEST</title>
<link rel="stylesheet" href="styles.css" type="text/css">

<script src="jquery.js" type="text/javascript"></script>    
<script src="parse.js" type="text/javascript"></script>    
</head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<body id="body">
    Silly video games
    <br>    

<canvas id="canv1" width="200" height="100"
style="border:1px solid #000000;"></canvas>

<div id="canvwrap">

</div>
</body>
</html>

请帮忙!

4

1 回答 1

1

尝试canvas.getContext('2d');代替canvas.getContext('2D');

于 2013-04-10T14:19:50.687 回答