Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FabricJS 4.4新手,正在寻找布局一组对象的最佳方法_Javascript_Fabricjs - Fatal编程技术网

Javascript FabricJS 4.4新手,正在寻找布局一组对象的最佳方法

Javascript FabricJS 4.4新手,正在寻找布局一组对象的最佳方法,javascript,fabricjs,Javascript,Fabricjs,我对FabricJS(4.4.0)非常陌生,我希望以“正确”的方式做事,因此我正在寻求建议: 假设我正在编写一个JS函数createHouse(options),它接受一组选项并返回一个fabric.Group,这是一个房子的简单图片,其中的选项给出了房子实际布局的各个方面:前门位置、楼层数、烟囱等。例如: let myHouse = createHouse({ x:200, y:100, color:'blue', fl

我对FabricJS(4.4.0)非常陌生,我希望以“正确”的方式做事,因此我正在寻求建议:

假设我正在编写一个JS函数
createHouse(options)
,它接受一组选项并返回一个
fabric.Group
,这是一个房子的简单图片,其中的选项给出了房子实际布局的各个方面:前门位置、楼层数、烟囱等。例如:

    let myHouse = createHouse({ x:200, y:100, 
                                color:'blue', floors:2, width:100, labelParts:true,
                                stairs:true, garage:false, chimney:true, doorSide:'left', fence:false);
    fabricCanvas.add(myHouse); 

我想要调用方给出的任何x,y坐标来指定房子前门的门把手的位置,也就是说,我不希望它是房子组的中心或左上角。如果我孤立地考虑这组房子,我会认为门把手是原点坐标,房子的其余部分延伸到门把手的上方、下方、左侧和右侧。我希望我的代码从门把手开始,然后从那里“向外建房子”——这样我就不知道这个团队到底会有多大

更复杂的是,如果labelParts是真的,那么房子周围就会有指向门、烟囱等的标签——这些标签也会使这个群体变得更大,数量不详

因此,问题是:

  • 您将如何定义与originX、originY等相关的组和子对象

  • 在我定义形状时,有没有一种方法可以让我的房屋坐标系围绕(0,0)处的门把手旋转,在将组返回给调用者之前,最终转换到所需的(x,y)门把手位置?这会由主屋组内的一个组完成吗

  • 由于文本的长度,可选的标签集群可能会使整个组的尺寸变得不可预测,但我不想考虑这个问题:我只想让调用者指定门把手的位置,然后从那里向外构建。可能吗

  • 提前谢谢