def expose_cb(widget, event):
    global pixbuf, interp_type, overall_alpha
    # gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
    event_x, event_y, event_width, event_height = event.area
    widget_alloc = widget.get_allocation()
    widget_alloc_width = widget_alloc[2]
    widget_alloc_height = widget_alloc[3]

    dest = GdkPixbuf.GdkPixbufBlank(GdkPixbuf.COLORSPACE_RGB, FALSE, 8, event_width, event_height)

    GdkPixbuf.pixbuf_composite_color(
        pixbuf,
        dest,
        0,
        0,
        event_width,
        event_height,
        -event_x,
        -event_y,
        widget_alloc_width / pixbuf.get_width() + 0.0,
        widget_alloc_height / pixbuf.get_height() + 0.0,
        interp_type,
        overall_alpha,
        event_x,
        event_y,
        16,
        0xAAAAAA,
        0x555555,
    )

    dest.render_to_drawable(
        widget.get_window(),
        widget.get_style().fg_gc[STATE_NORMAL],
        0,
        0,
        event_x,
        event_y,
        event_width,
        event_height,
        GDK.RGB_DITHER_NORMAL,
        event_x,
        event_y,
    )
    del dest

    return TRUE
def expose_cb(widget, event):
    global pixbuf, interp_type, overall_alpha
    # gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
    event_x, event_y, event_width, event_height = event.area
    widget_alloc = widget.get_allocation()
    widget_alloc_width = widget_alloc[2]
    widget_alloc_height = widget_alloc[3]

    dest = GdkPixbuf.GdkPixbufBlank(GdkPixbuf.COLORSPACE_RGB, FALSE, 8,
                                    event_width, event_height)

    GdkPixbuf.pixbuf_composite_color(
        pixbuf, dest, 0, 0, event_width, event_height, -event_x, -event_y,
        widget_alloc_width / pixbuf.get_width() + 0.0,
        widget_alloc_height / pixbuf.get_height() + 0.0, interp_type,
        overall_alpha, event_x, event_y, 16, 0xaaaaaa, 0x555555)

    dest.render_to_drawable(widget.get_window(),
                            widget.get_style().fg_gc[STATE_NORMAL], 0, 0,
                            event_x, event_y, event_width, event_height,
                            GDK.RGB_DITHER_NORMAL, event_x, event_y)
    del dest

    return TRUE
#pixbuf_scaled = pixbuf.scale (20, 30, 70, 80, 
#			0, 0, 0, 0, GdkPixbuf.INTERP_NEAREST)
pixbuf_scaled = GdkPixbuf.GdkPixbufBlank (0, TRUE, 8, 150, 150)

pixbuf.scale (pixbuf_scaled, 20, 30, 70, 80, 
	0, 0, 0.5, 0.5, GdkPixbuf.INTERP_NEAREST)
show_pixbuf (pixbuf_scaled, "scaled pic.png")

pixbuf_composited = GdkPixbuf.GdkPixbufBlank (0, TRUE, 8, 150, 150)
GdkPixbuf.pixbuf_composite (pixbuf, pixbuf_composited, 20, 20, 100, 80,
			0, 0, 1.0, 1.0, GdkPixbuf.INTERP_NEAREST, 200)
show_pixbuf (pixbuf_composited, "pixbuf_composited")

pixbuf_composited_color = GdkPixbuf.GdkPixbufBlank (0, TRUE, 8, 150, 150)
GdkPixbuf.pixbuf_composite_color (pixbuf, pixbuf_composited_color,
			30, 15,
			100, 90,
			10, 18,
			0.7, 0.7,
			GdkPixbuf.INTERP_HYPER,
			0,
			2, 5,
			16,
			20000,
			40000)
show_pixbuf (pixbuf_composited_color, "pixubf_composited_color")

app()
mainloop ()

#!/usr/bin/python
import gtklib
from gtk import *
import GdkPixbuf
from Test import *

pixbuf = GdkPixbuf.GdkPixbufFromFile("pic.png")
show_pixbuf(pixbuf, "pic.png")

#pixbuf_scaled = pixbuf.scale (20, 30, 70, 80,
#			0, 0, 0, 0, GdkPixbuf.INTERP_NEAREST)
pixbuf_scaled = GdkPixbuf.GdkPixbufBlank(0, TRUE, 8, 150, 150)

pixbuf.scale(pixbuf_scaled, 20, 30, 70, 80, 0, 0, 0.5, 0.5,
             GdkPixbuf.INTERP_NEAREST)
show_pixbuf(pixbuf_scaled, "scaled pic.png")

pixbuf_composited = GdkPixbuf.GdkPixbufBlank(0, TRUE, 8, 150, 150)
GdkPixbuf.pixbuf_composite(pixbuf, pixbuf_composited, 20, 20, 100, 80, 0, 0,
                           1.0, 1.0, GdkPixbuf.INTERP_NEAREST, 200)
show_pixbuf(pixbuf_composited, "pixbuf_composited")

pixbuf_composited_color = GdkPixbuf.GdkPixbufBlank(0, TRUE, 8, 150, 150)
GdkPixbuf.pixbuf_composite_color(pixbuf, pixbuf_composited_color, 30, 15, 100,
                                 90, 10, 18, 0.7, 0.7, GdkPixbuf.INTERP_HYPER,
                                 0, 2, 5, 16, 20000, 40000)
show_pixbuf(pixbuf_composited_color, "pixubf_composited_color")

app()
mainloop()