【问题标题】:Setting default units in svg (Python svgwrite)在 svg 中设置默认单位(Python svgwrite)
【发布时间】:2012-10-11 23:27:53
【问题描述】:

我正在使用 python 的 svgwrite 生成 SVG 绘图。每次想画东西的时候,都会发现自己在做这种丑陋的尴尬事:

line = drawing.line(start = "%dmm" % start, end = "%dmm" % end)

我希望我能做到:

line = drawing.line(start = start, end = end)

有没有办法将整个 svg 绘图的默认单位设置为“mm”?

【问题讨论】:

    标签: python svg cad


    【解决方案1】:

    一种可能的方法是设置 viewBox 属性以及文档大小,

    dwg = svgwrite.Drawing('myDrawing.svg', size=('170mm', '130mm'), viewBox=('0 0 170 130'))
    
    dwg.add(dwg.line(start=(30, 30), end=(50,50)))
    
    dwg.save()
    

    为我生产,

    <?xml version="1.0" encoding="utf-8" ?>
    
    <svg baseProfile="full" height="130mm" version="1.1" viewBox="0 0 170 130" width="170mm"
    xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink"><defs /><line x1="30" x2="50" y1="30" y2="50" />     </svg>
    

    【讨论】:

      【解决方案2】:

      我刚刚发现你可以这样做:

      from svgwrite import cm, mm
      dwg = svgwrite.Drawing('my_drawing.svg', height='10cm', width='10cm')
      dwg.add(dwg.line((0*cm, 0*cm), (10*cm, 10*cm))
      dwg.save()
      

      【讨论】:

        猜你喜欢
        • 2011-09-17
        • 2023-03-11
        • 1970-01-01
        • 2018-01-08
        • 1970-01-01
        • 2021-12-04
        • 1970-01-01
        • 1970-01-01
        • 2014-06-19
        相关资源
        最近更新 更多