Asked By – ram1
How do I convert an
png, in Python? I am storing the
svg in an instance of
StringIO. Should I use the pyCairo library? How do I write that code?
Now we will see solution for issue: Convert SVG to PNG in Python
The answer is “pyrsvg” – a Python binding for librsvg.
There is an Ubuntu python-rsvg package providing it. Searching Google for its name is poor because its source code seems to be contained inside the “gnome-python-desktop” Gnome project GIT repository.
I made a minimalist “hello world” that renders SVG to a cairo
surface and writes it to disk:
import cairo import rsvg img = cairo.ImageSurface(cairo.FORMAT_ARGB32, 640,480) ctx = cairo.Context(img) ## handle = rsvg.Handle(<svg filename>) # or, for in memory SVG data: handle= rsvg.Handle(None, str(<svg data>)) handle.render_cairo(ctx) img.write_to_png("svg.png")
Update: as of 2014 the needed package for Fedora Linux distribution is:
gnome-python2-rsvg. The above snippet listing still works as-is.
This question is answered By – jsbueno
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0