Convertir SVG a png u otro?

Ya que es muy fácil mostrar el contenido de un archivo SVG dentro de la notebook iPython, ¿hay también una manera (fácil) de obtener lo que vemos dentro de un archivo png u otro?

from IPython.display import SVG SVG(filename='../images/python_logo.svg') 

Si hago svg = SVG(filename='../images/python_logo.svg')

¿Cómo puedo guardarlo en un archivo png?

SVG son imágenes de vectores (los dibujos se guardan como comandos para dibujar líneas, círculos, etc.). Los PNG son mapas de bits. Entonces, para convertir SVG a PNG, necesitas un renderizador.

La solución más obvia es ImageMagick, una biblioteca que ya ha instalado, ya que se utiliza en varios progtwigs. Un enfoque menos obvio es usar Inkscape. Usando las opciones de la línea de comandos, es posible usar Inkscape como un progtwig de conversión. Como Inkscape está orientado a vectores, sospecho que la calidad es mejor que la de ImageMagick (que tiene más en cuenta a los mapas de bits).

Como una imagen vectorial (SVG) es un archivo de texto que contiene instrucciones de dibujo, es más fácil de entender. Los PNG contienen solo información de píxeles y, para empeorar las cosas, se comprimen con un algoritmo bastante complicado. Darles sentido no es tan fácil.

Eche un vistazo a la página de manual de Inkscape , es bastante obvio cómo usarla. Esta es la ayuda para convertir IMagick .