gpt4 book ai didi

python-2.7 - 使用 Python 旋转和缩放完整的 .SVG 文档

转载 作者:行者123 更新时间:2023-12-05 08:56:00 25 4
gpt4 key购买 nike

我有一张 SVG 绘图(来自建筑 map ),我想将整个文档顺时针旋转 90 度。现在,绘图方向是纵向,想法是横向。

除此之外,我想缩放整个文档(包括所有元素)。

目前,我无法在网上找到执行此操作的可能性。所以这就是我在这里问的原因。我的问题是:

  1. 这可能吗?
  2. 如果是,可以通过什么方式做到这一点?谁愿意帮助解决这个问题。

最佳答案

我设法用 svgutils 模块旋转了一个 SVG 图。可以用pip安装。

>>> import svgutils
>>> svg = svgutils.transform.fromfile('camera.svg')
>>> originalSVG = svgutils.compose.SVG('camera.svg')
>>> originalSVG.rotate(90)
>>> originalSVG.move(svg.height, 10)
<svgutils.compose.SVG object at 0x7f11dc78fb10>
>>> figure = svgutils.compose.Figure(svg.height, svg.width, originalSVG)
>>> figure.save('svgNew.svg')

请注意,widthheight 属性必须在原始 svg 文件中的 svg 标记中指定

Reference I used

实际上,这个方法除了用带有 transform 属性的 g 标签包裹它们之外,没有对元素做任何事情。但似乎有了这个模块,您就可以访问 SVG 树中的每一个元素,并对它们做任何您想做的事情。

缩放 SVG 也很容易:

>>> originalSVG.scale(2)
<svgutils.compose.SVG object at 0x7f11dc78fb10>
>>> figure = svgutils.compose.Figure(float(svg.height) * 2, float(svg.width) * 2, originalSVG)
>>> figure.save('svgNew.svg')

关于python-2.7 - 使用 Python 旋转和缩放完整的 .SVG 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43199869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com