【发布时间】:2014-05-22 18:12:00
【问题描述】:
我目前正在学习 JavaScript OOP。在这里,我创建了一个名为 person 的构造函数。我给它一个原型属性来在画布上绘制每个新人的脸(我的意思是图像)。我引入了不同的警报命令来检查它是否工作。我认为我做的一切都是正确的,但由于某种原因,图像没有被绘制在画布上。
JavaScript
function draw(){
var canvas = document.getElementById("mycanvas");
var ctx = canvas.getContext('2d');
canvas.width = 600;
canvas.height = 600;
canvas.style.border = "1px solid black";
var person = function (name, age) {
this.name = name;
this.age = age;
};
person.prototype.drawit = function(src, xpos, ypos, width, height) {
this.src = src;
this.xpos = xpos;
this.ypos = ypos;
this.width = width;
this.height = height;
var img = new Image();
img.src = this.src;
ctx.drawImage(img, this.xpos, this.ypos, this.width, this.height);
};
var person1 = new person("winsteen", "14");
person1.drawit("lol1", 200, 200, 40, 50);
alert(person1.age);
alert(person1.src);
}
window.onload = draw;
HTML
<canvas id="mycanvas"></canvas>
【问题讨论】:
-
检查你的控制台,有没有错误?
-
它没有给出任何错误..
-
您确定
"lol1"是您图像的正确相对路径吗?它似乎不包含文件扩展名(例如 jpg、png、gif) -
暂时没有考虑过这个问题。也没有错误报告。添加 .jpg 扩展名完美地绘制了图像:))。
标签: javascript oop canvas