相关疑难解决方法(0)

删除SVG文件中的转换

我一直在努力解决这个问题,似乎无法在任何地方找到答案(有效).我有一个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中).如果我手动删除变换,图像会拉到屏幕的另一部分(正如预期的那样),但我需要完全摆脱变换,同时让图像保持在我想要的位置.有没有办法将变换移除/压平到路径坐标本身?(我必须处理的唯一变换是平移和缩放,没有矩阵.)

svg transform inkscape

141
推荐指数
15
解决办法
6万
查看次数

在Inkscape中展平SVG矩阵变换

我有一个最初在Inkscape中创建的免费剪贴画SVG文件,我正在修改它以用于Windows 8 JavaScript游戏.它包含许多路径实例,并在周围的组上应用矩阵变换,如下所示:

<g transform="matrix(0.443,0.896,-0.896,0.443,589.739,-373.223)">
    <path d="M486,313s27-9,43-29l26,4,1,23-22,5s-25-6-48-3z" />
</g>
Run Code Online (Sandbox Code Playgroud)

我希望通过将它预先应用到Inkscape中的路径来展平该转换,以减少动画期间的浏览器工作.然而,当我将6个矩阵值插入Inkscape中的ABCDEF参数并应用它时,它为路径提供了完全不同的旋转和缩放到IE10引擎的功能.

我已经多次检查过我正确映射了6个值.我究竟做错了什么?

编辑:好的,这里是IE10和Inkscape的截图之前和之后.对于IE10的情况,SVG直接驻留在一个空的HTML文档的主体内(Firefox中的渲染完全相同).在Inkscape中,我只是打开了"之前"SVG文件,该文件只包含路径元素,选择了路径,并将6个矩阵变换值插入到Object> Transform> Matrix中.我对矩阵知之甚少,我只是希望能够以与浏览器相同的方式预先应用这些转换,并且理想地理解为什么Inkscape存在差异.谢谢.

仅限IE10路径 IE10路径与变换 仅限Inkscape路径 Inkscape路径与变换

svg transform matrix inkscape

38
推荐指数
4
解决办法
2万
查看次数

"展平"转变为路径?

鉴于以下SVG:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="1891px" height="1492px" viewBox="0 0 1891 1492" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <g transform="translate(352 500)">
        <path d="M1,0 L1,400 C0.999999169,799.99998 201,1205 601,1439.4375 C1001,1205 1201,800 1201,400 L1201,0 L1,0 Z M1,0"></path>
        <path d="M1,0 L1,960.824531 C1.00000084,1439.4375 489.311066,1258.28207 600.483175,1439.4375 C708.904794,1258.28211 1201,1439.4375 1200.99997,960.824531 C1200.99996,960.824531 1201,0 1201,0 L1,0 Z M1,0"></path>
    </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

是否有任何工具可以使用变换自动更新路径点,并从组元素中删除变换?

我有一个SVG应用程序(草图),使用转换属性输出SVG(如果您对路径进行任何调整),但在我的Web应用程序中,我需要实际的路径点已经调整,而不是使用任何转换属性.

澄清:目标是找到一个允许在大型SVG文件上执行此操作的应用程序或工具,从而删除整个文件中的任何转换属性.

谢谢!

svg transform

8
推荐指数
1
解决办法
1889
查看次数

如何在缩放和旋转后确定Raphael对象的大小?

如果我使用初始大小[w1,h1]创建一个Raphael.js对象的图像,然后使用该transform()方法缩放它,我将如何检索它的新大小[w2,h2]?因为调用image.attr("width")返回w1,初始宽度,而不是转换后的宽度.

我知道你可能会说我应该简单地将w1和h1与缩放因子相乘,但是大多数时候,也会应用旋转变换,这会让事情变得更加麻烦.

简而言之,Raphael.js中是否有一个方法可以检索对象的正确大小,而不管可能应用于它的任何转换?

javascript svg raphael

2
推荐指数
2
解决办法
6496
查看次数

标签 统计

svg ×4

transform ×3

inkscape ×2

javascript ×1

matrix ×1

raphael ×1