Search code examples
pythonsvgsvgwrite

Python svgwrite module background color


I am using the svgwrite module in my Python code and I would like to set a background color. So far I have not been able to find anything. Is there a way to do it?

I was hoping for something during the initialization:

import svgwrite

canvas = svgwrite.drawing.Drawing(fill="#225566") # or background="#225566", or sth similar
canvas.save('image.png')

Or I could probably draw rectangle all over the place, but that's just weird.


Solution

  • It seems that svg itself does not define how to set the background colour. For svgwrite I use this:

    svg_size_width = 900
    svg_size_height = 4500
    dwg = svgwrite.Drawing(name, (svg_size_width, svg_size_height), debug=True)
    dwg.add(dwg.rect(insert=(0, 0), size=('100%', '100%'), rx=None, ry=None, fill='rgb(50,50,50)'))
    dwg.save()