【发布时间】:2016-11-04 00:19:36
【问题描述】:
我查看了所有相关问题,但没有找到答案。 当我在 node.js 中使用此代码时:
var canvas = new global.canvas(400, 400), ctx = canvas.getContext('2d');
global.fs.readFile('test.png', function (err, data) {
if (!err) {
var base_image = new global.canvas.Image;
base_image.src = data;
ctx.drawImage(base_image, 0, 0, 100, 100);
}
else
console.log(err);
});
我收到错误:给定的图像尚未完成加载 当我添加 onload 事件时,如下所示:
base_image.onload = function () {
ctx.drawImage(base_image, 0, 0, 100, 100);
}
它根本不会着火。 请帮我找到答案。
【问题讨论】:
-
先试试
base_image.on('load', function () { ... }) -
我试过了:TypeError: Object #
has no method 'on' -
是的,但他们没有帮助我。我的机器在 Windows 和画布的其他部分上工作 - 线条、文本工作正常。也许我需要一些额外的库?
-
如果您使用
var canvas = new (require('canvas'))(400, 400)和require('fs').readFile是否有效?我从来没有用过global,也许它引起了一些问题?最后,一定要检查 F12 控制台,看看是否抛出错误