我正在使用Snap SVG来构建编辑器。 我有一个带有一些变换的组标签。 我想取消组合小组。我尝试使用for循环将组中的元素添加到父级,但转换在未组合的元素中未按预期工作。
有人可以告诉我一种解组元素的方法吗?
请在这里找到JS Bin。
https://jsbin.com/jinita/edit?js,output
当我拖动黑色矩形时,整个组也会移动。 当我删除它时,我尝试取消组合,但转换不适用于该组。
PS:我不能在组元素
上调用drag()答案 0 :(得分:1)
代码有点令人困惑,因为看起来你正试图为自己添加一个组,但我可能会误解它。我稍微修改了它并按ID选择了组,只是为了知道它是正确的,而不是css选择器。
我为变换修改的关键部分是这一行......
item.transform( g.transform().localMatrix.toTransformString() )
编辑:在这种情况下,您可以将其进一步缩短为
item.transform( g.transform() )
这确保我们在从组移除时获得组变换,并使用toTransformString()进行转换(我不完全确定这些,但通常似乎消除了奇怪之处)。
编辑:问题稍微修改后,可能是你真的想要完整的矩阵应用,在这种情况下会是......
item.transform( item.transform().globalMatrix.toTransformString() )