我正在使用fabric.js将图片从网址绘制到画布中:
function addImage(url) {
canvas.clear();
fabric.Image.fromURL(url, function(oImg) {
oImg.selectable = false;
canvas.add(oImg);
});
};
的工作原理。 现在我还想用这个函数在该图像上绘制一个文本:
function addText(text_to_add) {
var ctx = canvas.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText(text_to_add,10,50);
};
为了确保文字在图像的顶部绘制,我理解我首先需要绘制图像,然后是文本,如下所示:
<a href="#" onclick="addImage('/path/to/image/image.jpg'); addText('Hello World');">Click me to Draw image and text</a>
结果是,文本总是在图像后面绘制。我看到文本为mili-second然后图像覆盖文本。我希望在图像的顶部绘制文本。
我添加了这个jsfiddle,但不知怎的,它没有运行。也许fabric.js库存在问题。 http://jsfiddle.net/02vrr15d/
答案 0 :(得分:2)
从addText
移除onclick
,然后添加到addImage
function addImage(url) {
fabric.Image.fromURL(url, function (oImg) {
oImg.selectable = false;
canvas.add(oImg);
addText('Hello World');
});
};