[cairo] gtk, cairo and surfaces
Hakki Dogusan
dogusanh at tr.net
Sat May 23 03:48:42 PDT 2009
Hi,
Donn wrote:
> Hi,
> Sorry if I am being thick, but I can't get anywhere with this. I am scraping
> the net far and wide, so perhaps something will come-up.
>
> I am using pygtk and python-cairo. I have a DrawingArea which gets an expose
> event. In that event one draws stuff with a context; there is no hint of
> where/what the surface is (I can't find any).
>
> I want to output a png of what is being drawn to the window. Can anyone point
> me in the right direction?
>
> Some code:
>
> class Stack(gtk.DrawingArea):
>
> ...stuff...
>
> def _expose(self, widget, event):
> self.context = widget.window.cairo_create()
>
> Draw stuff to self.context ...
Take this drawing commands to a subroutine,ie. DrawStuff(ctx). Call it here:
DrawStuff(self.context)
>
>[snipped rest of def _expose
Write a subroutine for png out, ie.
def OutToPNG()
out = cairo.ImageSurface(cairo.FORMAT_ARGB32,self.w,self.h)
ctxout = cairo.Context( out )
DrawStuff(ctxout)
out.write_to_png("somefile%d.png" % self.outpic )
self.outpic += 1
destroy ctxout
destroy out
>
> Thanks,
> \d
--
Regards,
Hakki Dogusan
More information about the cairo
mailing list