仅在移动,缩放和旋转时渲染选定对象

问题描述 投票:8回答:1

我目前正在制作一个“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

javascript fabricjs photos
1个回答
0
投票

最好的办法是在主要画布前面放置第二个画布,在其上移动/缩放/旋转当前项目。

您提到想要在结构画布上呈现所选对象,因此这应该符合您的要求。

在结束移动/缩放/旋转时,您必须恢复原始画布元素,应用更改并允许它进行完全重绘。

© www.soinside.com 2019 - 2024. All rights reserved.