image - How to output transparent PNG with Pycairo? -
image - How to output transparent PNG with Pycairo? -
here's code:
import cairo import os pil import image imagesize = (512,128) surface = cairo.imagesurface(cairo.format_argb32, *imagesize) cr = cairo.context(surface) cr.select_font_face("verdana", cairo.font_slant_normal, cairo.font_weight_normal) cr.set_font_size(24) cr.set_source_rgb(1, 1, 1) ... surface.write_to_png("myimage.png")as can see i'm drawing white text png, background defaults opaque black. how create png transparent white text showing?
i able setup transparent background using set_source_rgba() , using 0.0 alpha value:
cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) # transparent black cr.rectangle(0, 0, 512, 128) cr.fill()
had create sure write text this:
# set writing color white cr.set_source_rgb(1, 1, 1) # write text cr.move_to(100,50) cr.show_text("hello") # commit surface cr.stroke()
here's total code works me:
import os pil import image imagesize = (512,128) surface = cairo.imagesurface(cairo.format_argb32, *imagesize) cr = cairo.context(surface) # paint background cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) # transparent black cr.rectangle(0, 0, 512, 128) cr.fill() # setup font cr.select_font_face("verdana", cairo.font_slant_normal, cairo.font_weight_norma cr.set_font_size(24) cr.set_source_rgb(1, 1, 1) # write font cr.move_to(100,50) cr.show_text("hello") # commit surface cr.stroke() # save file surface.write_to_png("myimage.png")
image transparency python-imaging-library pycairo
Comments
Post a Comment