[英]Add multiple element to canvas with fabric js
对不起,我的英语不好。 我想学习fabric.js的用法。
对于基本命令,我没有任何问题。 但是我现在有这个问题。
我在index.html文件中有两个按钮:
<tr>
<td><button id="caricarettangolo" onMouseDown="caricarettangolo(), caricatutto()" type="button"><img src="immagini/prodotti/rettangolo.svg" /></button></td></tr>
<tr>
<td><button type="button" onMouseDown="caricastella()"><img src="immagini/prodotti/stella.svg" /></button></td></tr>
</tr>
和外部js文件与此代码
function caricacerchio() {
var canvas = new fabric.Canvas('canvas');
var circle = new fabric.Circle({
radius: 20, fill: 'green', left: 100, top: 100
});
canvas.getObjects();
canvas.add(circle);
canvas.selection = false;
canvas.renderAll();
canvas.calcOffset();
};
function caricarettangolo() {
var canvas = new fabric.Canvas('canvas');
var rect = new fabric.Rect({
width: 50,
height: 50,
left: 50,
top: 50,
fill: 'rgb(255,0,0)'
});
canvas.getObjects();
canvas.add(rect);
canvas.selection = true;
canvas.renderAll();
canvas.calcOffset();
};
但是我没有看到两个元素的解决方案。
我看到第一个元素,接下来,如果我按下另一个按钮,这将完全清除画布并添加新元素,但会清除第一个元素。 如果单击画布方块,则返回第一个创建的元素。 为什么? 如我所见,当我有两个不同的按钮和两个不同的元素时? 谢谢。
每次按下按钮时,您将在新的画布上进行渲染:
var canvas = new fabric.Canvas('canvas');
您想在功能之外渲染画布
window.canvas = new fabric.Canvas('canvas');
然后使用按钮添加它们。
您可以在此处查看示例: http : //jsfiddle.net/33MME/2/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.