Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/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 Fabric.js缩放对象组_Javascript_Svg_Fabricjs - Fatal编程技术网

Javascript Fabric.js缩放对象组

Javascript Fabric.js缩放对象组,javascript,svg,fabricjs,Javascript,Svg,Fabricjs,我正在尝试允许用户创建用户库。基本上,在主画布上,他们能够添加形状,这些形状从svg字符串加载,然后选择多个形状并将它们拖动到单独的画布上,该画布将基本上获取这些形状并从中创建新的svg。无论原始对象组的大小如何,新形状/组都必须适合48 x 48的缩略图/拖动框 我让它可以将形状从一个画布拖到另一个画布上,但无论出于何种原因,当我尝试将对象输出到新的svg时,对象的位置与它们被拖到新画布上时在组中的位置相差甚远 这是我现在获得svg字符串的代码: var group = []; var sha

我正在尝试允许用户创建用户库。基本上,在主画布上,他们能够添加形状,这些形状从svg字符串加载,然后选择多个形状并将它们拖动到单独的画布上,该画布将基本上获取这些形状并从中创建新的svg。无论原始对象组的大小如何,新形状/组都必须适合48 x 48的缩略图/拖动框

我让它可以将形状从一个画布拖到另一个画布上,但无论出于何种原因,当我尝试将对象输出到新的svg时,对象的位置与它们被拖到新画布上时在组中的位置相差甚远

这是我现在获得svg字符串的代码:

var group = [];
var shape = new fabric.Group(group);
$.each(activeGroup._objects, function (index, item) {
    group.push(item);
});
svgString = shape.toSVG();
这就是我要加载的内容:

fabric.loadSVGFromString(svg, function (objects, options) {
    var loadedObjects = new fabric.Group(group);
    loadedObjects.set({
        left: left, top: top, hasControls: false, selectable: true, originX: 'left', originY: 'top', height: 50, width: 50
    });
    canvas.add(loadedObjects);
}, function (item, object) {
    object.set('id', item.getAttribute('id'));
    group.push(object);
});
这里有一个例子:

在— 在-

有时形状会保持原样,但如果像下面的圆圈那样放大一个形状,它就会错位

很抱歉发了这么长的帖子,以下是我的问题摘要: 1将组缩小到48x48,目前它们的大小保持不变。我试过scaleToHeight和scaleToWidth以及其他设置宽度的东西,但没有任何变化。 2个在toSVG之前放错位置的物体