Inkscape中的平整SVG矩阵变换

问题描述 投票:38回答:5

我有一个免费的剪贴画SVG文件,该文件最初是在Inkscape中创建的,我正在对其进行修改以用于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>

我想通过预先将其应用于Inkscape中的路径来平整该变换,以减少动画期间浏览器的工作。但是,当我将6个矩阵值插入Inkscape中的A B C D E F参数并应用它时,它为路径提供了与IE10引擎完全不同的旋转和缩放比例。]

我已经多次检查是否正确映射了6个值。我在做什么错?

编辑:好的,这是IE10和Inkscape的屏幕截图的前后。对于IE10情况,SVG直接位于否则为空的HTML文档的主体内部(在Firefox中呈现完全相同)。在Inkscape中,我只是打开了仅包含path元素的“之前” SVG文件,选择了路径,然后将6个矩阵变换值插入到“对象”>“变换”>“矩阵”中。我对矩阵知之甚少,我只想能够以与浏览器相同的方式预先应用这些转换,并且理想地理解为什么Inkscape会有差异。谢谢。

“仅适用于IE10路径”“具有转换的IE10路径”“仅Inkscape路径”“具有转换的Inkscape路径”

我有一个免费的剪贴画SVG文件,该文件最初是在Inkscape中创建的,我正在对其进行修改以用于Windows 8 JavaScript游戏。它包含具有矩阵的路径的许多实例...

matrix svg transform inkscape
5个回答
55
投票

简短回答


19
投票
您可以烘焙坐标,然后选择路径->联合(CTRL ++)选择路径。希望对您有所帮助

15
投票

粘贴到位


11
投票
按照@andraaspar的回答,您也可以尝试取消分组(Ctrl-U),然后再次分组(Ctrl-G)。它对我有用。

1
投票
感谢ArtBIT提供所有信息!我在PHP应用程序上遇到了一些问题,并编写了一个库来处理字体数据(来自SVG文件)并对其进行任何形式的转换。任何其他感兴趣的人都可以从GitHub尝试一下:
© www.soinside.com 2019 - 2024. All rights reserved.