我目前正在制作一个“Photo Collage Maker”项目,该项目需要更大的画布区域和数百个对象(文本,图像,形状,剪贴画等)。问题是在移动,缩放和旋转这些对象时,Fabric.js渲染所有使它太慢的对象。我想只在织物画布上呈现所选对象。我已经测试了renderOnAddition,renderTop但它们并不是我想要的。
我想要以下内容:
canvas.on('object:moving', function(e) {
var activeObject = e.target;
//canvas.renderAll();
canvas.renderObjects(activeObject);
});
现在我需要像canvas.renderAll()
这样的方法,而不是canvas.renderObjects(activeObject)
。如何在Fabric.js中实现此功能?
这是我的项目:Edit Photos For Free
答案 0 :(得分:0)
最好的办法是在主要画布前放置第二块画布,在其上移动/缩放/旋转当前项目。
您提到想要在布料画布上呈现所选对象,因此这应符合您的要求。
在结束移动/缩放/旋转时,您必须恢复原始画布元素,应用更改并允许它进行完全重绘。
答案 1 :(得分:0)
可能有很多renderAll()方法
请检查是否需要使用requestRenderAll()方法