子项调整大小后FabricJS组选择/边界框

时间:2018-05-08 14:04:39

标签: javascript html5-canvas fabricjs

我正在使用FabricJS制作流程图编辑器,并且我的组边界/选择框和/或孩子的位置有问题。我不确定发生了什么。

我的项目是fabric.Group(活动),其中包含fabric.Rectfabric.Text。当我更改文本并想要用它更改Rect的大小时,会出现问题。文字在canvas之外更改,因此不在IText

它的工作原理如下:

for(var i in finly.dossiertypes.workflow.activities ) {
    if( finly.dossiertypes.workflow.activities[i].activityId === activityId ) {
        var activity = finly.dossiertypes.workflow.activities[i];
        var rect = activity._objects[0];
        var text = activity._objects[1];

        /**
         * Set text
         */
        text.set({
            'text': name
        }).setCoords();

        /**
         * Get width from text object
         */
        var width = text.width + (finly.dossiertypes.workflow.activityPadding * 2);

        /**
         * Set rect width
         */
        rect.set({
            'width': width
        }).setCoords();

        /**
         * Caculate group bounds
         */
        activity._calcBounds( true );

        break;
    }
}

会发生的是rect在可选择的组边界之外向右移动。正如您所看到的,鼠标指针显示了该组的位置。 rect的右侧无法选择,因为它位于group之外。

Rect shifting to right

我尝试了几件事,比如设置组的宽度。任何人都可以帮我这个吗?

0 个答案:

没有答案