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/