我试图用svg形状剪辑后克隆Fabricjs图像对象。但是当我尝试克隆时,我在控制台上看到如下错误:
"未捕获的ReferenceError:loadedMask未在klass.eval [as clipTo]中定义(eval at _initClipping(fabric.js:451)........"
我的clipTo代码如下:
// loadedMask is a svg file, loaded with loadSVGFromURL
loadedMask.set({
left: 0,
top: 0,
scaleX:scale_factor,
scaleY:scale_factor,
originX: 'center',
originY: 'center'
}).setCoords();
loadedMask.objectCaching = false;
selectedObj.set({
clipTo: function(ctx) {
loadedMask.render(ctx);
}
});
剪辑效果很好。但剪辑后,当我尝试克隆时,我在控制台上看到一个错误。我的克隆代码如下:
var newobj = obj.clone();
newobj.set("top", newobj.top+30);
newobj.set("left", newobj.left+30);
active_canvas.add(newobj);
active_canvas.renderAll();
我认为我应该改进克隆代码,但我需要一个想法,我被卡住了。感谢。
注意: 我使用的是1.7.22版本