On Monday 08 December 2003 09:57 am, Jeff Bowden wrote:
> Sorry if this is a dupe but my message from last night didn't seem to
> make it on to the list.
>
> I'm trying to figure out how to use gtk.gdk.Pixbuf in such a way that it
> doesn't consume all the memory in the system.  Part of my app is a list
> of thumbnail views of pictures each of which I create with sequence that
> look like this:
>
> for image_path in images:
>     pb = gtk.gdk.pixbuf_new_from_file(image_path)
>     npb = pb.scale_simple(thumb_width, thumb_height,
> gtk.gdk.INTERP_BILINEAR)
>     thumb_list_model.set_value(thumb_list_model.append(None), 0, npb)
>
> The problem is that memory consumption seems to grow rapidly without
> bound making it useless for anything more than a half a dozen or so images.

I hit this recently in a similar situation.  My solution (actually
it's a workaround) was to use PIL (the Python Image Library) to read
and maniuplate the images.  It's easy to draw a PIL image to a window:


  image = Image.open('...')
  simage = image.resize((...,...))
  window.clear()
  window.draw_rgb_image(... various parameters...,
                        gtk.gdk.RGB_DITHER_NONE,
                        simage.tostring(), -1, 0, 0)

I can do this process all day and not consume memory.

I'd prefer a solution, but this works fine for now.


Gary Herron


_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to