En este artículo, veremos cómo podemos guardar un archivo SVG en un archivo PNG usando PyCairo en Python. Podemos crear un archivo SVG usando el método SVGSurface. Un archivo SVG es un archivo gráfico que utiliza un formato gráfico vectorial bidimensional creado por el Consorcio World Wide Web (W3C). Describe imágenes utilizando un formato de texto basado en XML. Los archivos SVG se desarrollan como un formato estándar para mostrar gráficos vectoriales en la web.
PNG: Portable Network Graphics es un formato de archivo de gráficos de trama que admite la compresión de datos sin pérdidas. PNG se desarrolló como un reemplazo mejorado y no patentado del formato de intercambio de gráficos. PNG admite imágenes basadas en paletas, imágenes en escala de grises e imágenes RGB o RGBA a todo color que no estén basadas en paletas.
PyCairo : Pycairo es un módulo de Python que proporciona enlaces para la biblioteca de gráficos cairo. Esta biblioteca se utiliza para crear archivos vectoriales SVG, es decir, en python. La forma más fácil y rápida de abrir un archivo SVG para verlo (solo lectura) es con un navegador web moderno como Chrome, Firefox, Edge o Internet Explorer; casi todos deberían proporcionar algún tipo de soporte de representación para el formato SVG. .
Para ello utilizaremos el método write_to_png con el objeto SVGSurface
Sintaxis: surface.write_to_png(‘geeks.png’)
Argumento: Nombre del archivo a guardar
Retorno: Devuelve Ninguno
A continuación se muestra la implementación.
Python3
# importing pycairo import cairo # creating a SVG surface # here geek is file name & 700, 700 is dimension with cairo.SVGSurface("geek.svg", 700, 700) as surface: # creating a cairo context object context = cairo.Context(surface) # creating a rectangle(square) for left eye context.rectangle(100, 100, 100, 100) # creating a rectangle(square) for right eye context.rectangle(500, 100, 100, 100) # creating position for the curves x, y, x1, y1 = 0.1, 0.5, 0.4, 0.9 x2, y2, x3, y3 = 0.4, 0.1, 0.9, 0.6 # setting scale of the context context.scale(700, 700) # setting line width of the context context.set_line_width(0.04) # move the context to x,y position context.move_to(x, y) # draw the curve for smile context.curve_to(x1, y1, x2, y2, x3, y3) # setting color of the context context.set_source_rgba(0.4, 1, 0.4, 1) # stroke out the color and width property context.stroke() # Save as a SVG and PNG surface.write_to_png('geek.png') # printing message when file is saved print("File Saved")
Producción :
Publicación traducida automáticamente
Artículo escrito por ayush12arora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA