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()