Eph*_*era 141 svg transform inkscape
我一直在努力解决这个问题,似乎无法在任何地方找到答案(有效).我有一个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>
Run Code Online (Sandbox Code Playgroud)
我想删除该transform="..."
行,但仍然将我的图像保留在我放置的位置(在InkScape中).如果我手动删除变换,图像会拉到屏幕的另一部分(正如预期的那样),但我需要完全摆脱变换,同时让图像保持在我想要的位置.有没有办法将变换移除/压平到路径坐标本身?(我必须处理的唯一变换是平移和缩放,没有矩阵.)
Ser*_*kyy 127
如何在Inkscape中删除变换
如何在不创建其他变换属性的情况下完全移动所有对象
转到对象 - >转换
在变换面板中
取消选中相对移动并选中单独应用于每个对象
答对了
Eph*_*era 49
我找出了问题所在.我希望不要诉诸罗伯特的答案,虽然我很高兴确认它会起作用!最后,Duopixel的答案实际上是最接近的,尽管事实证明其他事情也在发生.
当您在Inkscape文档中使用不同的路径时,我认为它的默认行为是将它们组合在一个<svg:g.../>
标记下.修改组中的路径时,Inkscape将自动向组添加转换以表示这些更改.但是,如果您打开XML编辑器并将路径拖到<svg:g.../>
标记之外并使其成为自己的<svg:path.../>
标记,则Inkscape可以随意编辑各个点.最后它确实成了一个分组问题,尽管我只是在一条路上工作!希望这有助于其他类似情况.
met*_*ion 47
pio*_*_cz 24
有一个叫做Apply Transforms的 inkscape扩展,用它的转换重新计算路径,这正是我一直在寻找的.
安装完成后,您将在Extensions> Modify Path> Apply Transform下找到它.
学分:Inkscape论坛> 删除所有变换,同时保持原位
UTF*_*ath 22
对于团体重组可以快速完成工作.选择组并按Ctrl + Shift + G(去组),然后按Ctrl + G(组).
对于一些有类似问题的对象,例如螺旋和星星,快速的方法是按Ctrl + Alt + C(笔划到路径) - 但是这会将对象转换为纯路径并删除所有额外属性,如sodipodi:cx,sodipodi:革命等等.
Tho*_*s W 14
根据我的经验,如果您使用的是Inkscape,只需稍微移动路径元素(例如使用光标键),Inkscape将删除transform属性并相应地调整路径数据.(如果你真的想保留transform属性,那就太烦人了.)
因此,您可以简单地选择路径(确保它是路径而不是周围的组),点击右侧和左侧光标键,您就完成了.
rma*_*ado 14
在Inkscape上打开你的svg :
这样,您将摆脱应用于该组的转换,它们将被转移到该组中包含的路径.
干杯
sno*_*per 13
虽然我更喜欢Inkscape,但Affinity Designer(约40美元/ Mac)在使用Android Vector Drawables时节省了数小时的精力.
打开一个SVG,文件 - >导出 - > SVG - >更多 - > Flatten变换工作得很好.
Rob*_*gan 10
SVGO是一个出色的开源命令行工具,还有许多其他优化工具.它有一个同样出色的在线网络用户界面,名为SVGOMG
在这种情况下的相关选项是moveGroupAttrsToElems
(SVGOMG:)Move group attrs to elements
将transform
属性从组移动到路径元素,加上convertPathData
(SVGOMG :) Round/rewrite paths
以展平transform
为d
.
小智 8
Inkscape可以选择清除转换数据,但仍然保持对象的值不被修改.
在Inkscape中,选择对象和"路径"菜单,"简化".现在,您将删除转换.
希望能帮助到你.
在这种情况下,只需将translate添加到每个孩子的m值,所以-10.254587 + 10.75 = -0.504587和-308.96875 + 345.43597 = 36.46722.
由于示例中的所有术语都是相对的(即小写),这就是全部.如果任何是绝对的(大写),例如M或C,它们也必须进行调整.
对于比例,您基本上将所有子值乘以比例.
要从g
Inkscape 中的元素(组)中删除变换属性,您可以将组移动到其最终位置,将其取消组合,然后重新组合所有元素。现在已经创建了一个新组,如果您不再次移动它,它将不会附加变换属性。