Pythonのsvgwriteを使用してSVG図面を生成しています。何かを描きたいと思うたびに、私はこの醜い厄介なことをしていることに気づきます。
line = drawing.line(start = "%dmm" % start, end = "%dmm" % end)
私はただできることを望みます:
line = drawing.line(start = start, end = end)
svg図面全体のデフォルトの単位を「mm」に設定する方法はありますか?
考えられる方法は、ドキュメントのサイズ設定とともに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>
私はあなたがこれを行うことができることをちょうど見つけました:
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()