[英]Fabric.js object jumps to bottom right after selecting – how do I prevent it?
我想到了。
在渲染画布时,我一直在清除选定的对象,我需要这样做以保持渲染一致。 我稍后会恢复选择:
canvas.on('object:modified',function(){
var active_objects = canvas.getActiveObjects();
canvas.discardActiveObject();
// rendering code
var sel = new fabric.ActiveSelection(active_objects,{
canvas: canvas,
});
sel.setObjectsCoords();
sel.setCoords();
canvas.setActiveObject(sel);
canvas.requestRenderAll();
});
问题是,如果在调用canvas.setActiveObject(sel)之前创建了一个新选择,则新选择将变得混乱,对象将移至右下角。
使用简单的if语句修复:
if (canvas.getActiveObjects().length < 1){
var sel = new fabric.ActiveSelection(active_objects,{
canvas: canvas,
});
sel.setObjectsCoords();
sel.setCoords();
canvas.setActiveObject(sel);
canvas.requestRenderAll();
}
这可能是特定于我的项目的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.