我已经为此挣扎了一段时间,似乎在任何地方都找不到一个(有效的)答案。我有一个SVG文件,看起来像这样:

<svg

   xmlns:dc="http://purl.org/dc/elements/1.1/"
   ...
   width="72.9375"
   height="58.21875"
   ...>
   ...
   <g
     ...
     transform="translate(10.75,-308.96875)"
     style="...">
     <path
       inkscape:connector-curvature="0"
       d="m -10.254587,345.43597 c 0,-1.41732 0.17692,-2.85384 0.5312502,-3.5625 0.70866,-1.41733 2.14518,-2.82259 3.5625,-3.53125 1.41733,-0.70866 2.11392,-0.70867 3.53125,0 1.41732,0.70866 ... z"
       ... />
  </g>
</svg>

我想删除transform="…"行,但仍然有我的图像留在我已经放置它(在InkScape)。如果我手动删除转换,图像将压缩到屏幕的另一部分(正如预期的那样),但我需要完全删除转换,同时让图像保持在我想要的位置。是否有一种方法可以移除/平展转换到路径坐标本身?(我唯一需要处理的变换是平移和缩放,没有矩阵。)


当前回答

在Inkscape上打开svg:

选择包含所有要去掉的变换的组 按CTRL + U(取消组) 按CTRL + G(再次分组)

通过这种方式,您将摆脱应用到该组的转换,它们将被转移到包含在该组中的路径。

其他回答

选择有问题的元素 对象>取消分组(重复直到所有内容都取消分组;参见嵌套节点的XML编辑器) 对象到路径(将多边形转换为路径) 对象>变换>取消相对移动>应用

根据我的经验,如果你正在使用Inkscape,它足以稍微移动路径元素(例如用光标键),Inkscape将删除转换属性,并相应地调整路径数据。(如果你真的想保留transform属性,这很烦人。)

因此,您可以简单地选择路径(确保它是路径而不是周围的组),点击左右光标键,就完成了。

在方法绘制中加载SVG http://editor.method.ac(文件>打开图像) 取消元素组(Object > Ungroup elements),你可能需要做不止一次。 选择你的路径 重定向路径(对象>重定向路径)。 保存你的图像(文件>保存图像)如果它出现在一个新的窗口,你可以右键单击并“另存图像为…”

在Inkscape上打开svg:

选择包含所有要去掉的变换的组 按CTRL + U(取消组) 按CTRL + G(再次分组)

通过这种方式,您将摆脱应用到该组的转换,它们将被转移到包含在该组中的路径。

在我的例子中,组实际上是由层引起的。删除文档中的所有层删除了组和转换(可能与取消对象分组并重新分组等结合在SVG文件中删除转换(answer-35490189 from @Charlie above))