[cairo] pycairo - reduce image size produced by surface.write_to_png()
Roger Holness
hlnrog001 at gmail.com
Tue Aug 14 02:18:13 PDT 2007
Hi
I am working on a project that renders SVGs to png for use on cell
phones using cairo and librsvg
Can any of you suggest a way of reducing the size of the png produced
by write_to_png()? Obviously I understand that there will be a loss in
quality.
I tried setting the dpi used by rsvg (see below) but that shouldn't
and doesn't work - I need to be changing the dpi on my surface (I
think)
I could reduce the dimensions of the surface, but there should be a
better way (I identify the screen size of the cell phone, and ideally
want to produce an image of that size, but lower quality than I am
now)
Any help would be appreciated
<----code begin ---->
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32,width,height) #width
and height of the image being rendered
ctx = cairo.Context(surface)
rsvg.set_default_dpi(dpi) #played with various dpi's but has
no effect on the image produced
svg = rsvg.Handle(None, outString) #outString is the svg (as a string)
svg.render_cairo(ctx)
surface.write_to_png (fo) #writes to file object
<----code end---->
Regards
Roger Holness
More information about the cairo
mailing list