Python SVGwrite:导出为png/jpg,带有背景色和填充环

Python SVGwrite:导出为png/jpg,带有背景色和填充环,python,svg,Python,Svg,我一直在使用svgwrite库编写一个小Python脚本。我现在想让它用背景色导出我的图形,在我看来,我可能需要将它转换为另一种格式(png或jpg应该可以)。我对svg格式了解不多,但我确信它可以处理本机的背景色 另外,我画了两个圆心相同的圆,我想用一种特定的颜色来填充它们之间的空间,就像画一个环一样,但我在文档中找不到如何做到这一点 提前感谢您的帮助。背景 对于背景色,最简单的解决方案是只绘制一个填充整个文档的矩形 <rect width="100%" height="100%" fi

我一直在使用svgwrite库编写一个小Python脚本。我现在想让它用背景色导出我的图形,在我看来,我可能需要将它转换为另一种格式(png或jpg应该可以)。我对svg格式了解不多,但我确信它可以处理本机的背景色

另外,我画了两个圆心相同的圆,我想用一种特定的颜色来填充它们之间的空间,就像画一个环一样,但我在文档中找不到如何做到这一点


提前感谢您的帮助。

背景

对于背景色,最简单的解决方案是只绘制一个填充整个文档的矩形

<rect width="100%" height="100%" fill="red" />


有关填写规则的更多信息,请参见:

背景

对于背景色,最简单的解决方案是只绘制一个填充整个文档的矩形

<rect width="100%" height="100%" fill="red" />


有关填充规则的更多信息,请参见:

这是创建带颜色的圆的示例。第一个圆有一个填充颜色和一个单独的笔划颜色,因此它与两个圆相同,较小的一个在顶部。第二个圆有一个笔划颜色,但fill='none'只给出一个环形。最后一组圆圈表明,将一个圆圈放在与另一个圆圈在顶部相同的位置可以覆盖下面的东西。这可能是你想要的环空

import svgwrite
def create_svg(name):
    SVG_SIZE = 900
    color_list = ["rgb(123, 80, 86)", "rgb(67, 130, 124)", "red"] 
    dwg = svgwrite.Drawing(name, (SVG_SIZE, SVG_SIZE), debug=True)
    # background will be white.
    dwg.add(dwg.rect(insert=(0, 0), size=('100%', '100%'), fill='white'))
    y = 50
    circle_1 = dwg.circle(center=(100, y), r=30, fill='green', 
            stroke='blue', stroke_width=5)
    dwg.add(circle_1)
    circle_2 = dwg.circle(center=(200, y), r=30, fill='none', 
            stroke='blue', stroke_width=5)
    dwg.add(circle_2)
    y += 300
    for i in range(3):
        circle_i = dwg.circle(center=(150, y), r=(100 - 30 * i), 
                fill=color_list[i], stroke='none', stroke_width=0)
        dwg.add(circle_i)
    dwg.save()
if __name__ == '__main__':
    create_svg('filling_annulus.svg')

这是一个使用颜色创建圆的示例。第一个圆有一个填充颜色和一个单独的笔划颜色,因此它与两个圆相同,较小的一个在顶部。第二个圆有一个笔划颜色,但fill='none'只给出一个环形。最后一组圆圈表明,将一个圆圈放在与另一个圆圈在顶部相同的位置可以覆盖下面的东西。这可能是你想要的环空

import svgwrite
def create_svg(name):
    SVG_SIZE = 900
    color_list = ["rgb(123, 80, 86)", "rgb(67, 130, 124)", "red"] 
    dwg = svgwrite.Drawing(name, (SVG_SIZE, SVG_SIZE), debug=True)
    # background will be white.
    dwg.add(dwg.rect(insert=(0, 0), size=('100%', '100%'), fill='white'))
    y = 50
    circle_1 = dwg.circle(center=(100, y), r=30, fill='green', 
            stroke='blue', stroke_width=5)
    dwg.add(circle_1)
    circle_2 = dwg.circle(center=(200, y), r=30, fill='none', 
            stroke='blue', stroke_width=5)
    dwg.add(circle_2)
    y += 300
    for i in range(3):
        circle_i = dwg.circle(center=(150, y), r=(100 - 30 * i), 
                fill=color_list[i], stroke='none', stroke_width=0)
        dwg.add(circle_i)
    dwg.save()
if __name__ == '__main__':
    create_svg('filling_annulus.svg')