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