用文本自动填充SVG对象(Python/svgwrite)?

2024-06-17 09:16:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python中的svgwrite创建一个SVG,并希望创建一些对象,例如,一个大小为xsizeysize的矩形,以及一些填充它的文本:

import svgwrite 
xsize = 20 
ysize = 30
xcoord = 0 
ycoord = 0 
mystr = 'some text more text'
myfontsize = '20px'
dwg = svgwrite.Drawing(filename='mysvg.svg', debug=True)
dwg.add(dwg.rect((xcoord, ycoord), (xsize, ysize), fill='red'))
dwg.add(dwg.text(mystr, insert=(xcoord, ycoord), font_size=myfontsize, fill='black'))
dwg.save()

我想自动调整myfontsize,或者使用更好的方法使“mystr”始终适合这个框,即适合xsize

我想到的唯一方法是使用单空格字体并将xsize除以len(mystr)

有更好的解决办法吗


Tags: 对象方法textsvgaddfill矩形svgwrite