[pygtk] gtk.gdk.Pixbuf troubles and IRC
Andrew
rugby471 at gmail.com
Wed Jul 21 15:24:04 WST 2010
On 20/07/10 23:20, Tim Evans wrote:
> On 2010-07-21 5:12, Andrew wrote:
>
>>> #!/usr/bin/env python
>>> import gtk
>>> from gtk import gdk as gdk
>>>
>>> small = 16
>>> counter = 0
>>> offset = 4
>>> large = 24
>>>
>>> if __name__ == "__main__":
>>>
>>> icon_theme = gtk.icon_theme_get_default();
>>>
>>> small_pixbuf = icon_theme.load_icon("image", small, ());
>>>
>>> large_pixbuf = icon_theme.load_icon("image", large, ());
>>>
>>> large_pixbuf.fill(0x000000);
>>>
>>> small_pixbuf_buffer = small_pixbuf.copy()
>>> small_pixbuf.composite(large_pixbuf, 0, 0, 24, 24, 0, 0, 1, 1,
>>> gdk.INTERP_NEAREST, 255);
>>> small_pixbuf_buffer = small_pixbuf.copy()
>>> small_pixbuf.composite(large_pixbuf, 0, 0, 24, 24, 4, 4, 1, 1,
>>> gdk.INTERP_NEAREST, 255);
>>> small_pixbuf_buffer = small_pixbuf.copy()
>>> small_pixbuf.composite(large_pixbuf, 0, 0, 24, 24, 8, 8, 1, 1,
>>> gdk.INTERP_NEAREST, 255);
>>>
>>> window = gtk.Window()
>>> image = gtk.Image()
>>> image.set_from_pixbuf(large_pixbuf)
>>> window.add(image)
>>> window.show_all()
>>> window.connect("delete-event", gtk.main_quit)
>>> gtk.main()
>>>
>>
>> Sorry to BUMP this guys but does anyone have any idea why this is
>> happening, your reply doesn't have to be a fix. Any bugs/documentation
>> you can point me to?
>>
>
> Make doubly sure that both the large and small pixbufs have an alpha
> channel.
>
> Don't specify a destination rectangle larger than the scaled source
> pixbuf. That seems to pull in random data rather than blank space.
>
> The following seems to work for me:
>
> large = gtk.gdk.Pixbuf('rgb', True, 8, 30, 30)
> large.fill(0)
> small = widget.render_icon('gtk-ok', 'button') # 20-by-20
> assert large.get_has_alpha()
> assert small.get_has_alpha()
> small.composite(large, 0, 0, 20, 20, 0, 0, 1, 1, 'nearest', 255)
> small.composite(large, 5, 5, 20, 20, 5, 5, 1, 1, 'nearest', 255)
> small.composite(large, 10, 10, 20, 20, 10, 10, 1, 1, 'nearest', 255)
> large.save('test.png', 'png')
>
Thanks for the reply.
That doesn't seem to work for me, it gives the image attached. I have
also tried this with other icon themes (GNOME, Tango) and the results
are still similiar.
Is this just a bug in GTK?
--
Andrew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.png
Type: image/png
Size: 1195 bytes
Desc: not available
URL: <http://www.daa.com.au/pipermail/pygtk/attachments/20100721/fcefb35c/attachment.png>
More information about the pygtk
mailing list