def main(): found_valid = FALSE push_rgb_visual() try: tbf_readlen = os.environ["TBF_READLEN"] readlen = string.atoi(tbf_readlen) except KeyError: pass try: tbf_bps = os.environ["TBF_KBPS"] bps = string.atoi(tbf_bps) print "Simulationg %d kBytes/sec" % bps readlen = bps * 1024 / 10 except KeyError: pass i = 1 if len(sys.argv) == 1: pixbuf = GdkPixbuf.GdkPixbufFromData(default_image, GDK.COLORSPACE_RGB, FALSE, 8, DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_WIDTH * 3) new_testrgb_window(pixbuf, "") for xpm in xpms: pixbuf = GdkPixbuf.GdkPixbufFromXpmData(xpm) new_testrgb_window(pixbuf, "") found_valid = TRUE else: for i in range(1, len(sys.argv)): pixbuf = GdkPixbuf.GdkPixbufFromFile(sys.argv[i]) if pixbuf: new_testrgb_window(pixbuf, "File") found_valid = TRUE status = ProgressFileStatus() pixbuf_loader = GdkPixbufLoader.GdkPixbufLoader() status.loader = pixbuf_loader pixbuf_loader.connect("area_prepared", progressive_prepared_callback, status) pixbuf_loader.connect("area_updated", progressive_updated_callback, status) status.imagefile = open(sys.argv[1], "r") status.readlen = readlen status.timeout = Timeout(100, update_timeout, status) if found_valid: mainloop()
def simple_composite_test_one(interp_type, source_pixel, source_alpha, destination_pixel, destination_alpha, expected_result): print "simple_composite_test_one (%s, %s, %s, %s, %s, %s)" % \ (interp_type, source_pixel, source_alpha, destination_pixel, destination_alpha, expected_result) source_pixbuf = GdkPixbuf.GdkPixbufBlank(GdkPixbuf.COLORSPACE_RGB, source_alpha, 8, 32, 32) destination_pixbuf = GdkPixbuf.GdkPixbufBlank(GdkPixbuf.COLORSPACE_RGB, destination_alpha, 8, 32, 32) fill_with_pixel(source_pixbuf, source_pixel) fill_with_pixel(destination_pixbuf, destination_pixel) GdkPixbuf.pixbuf_composite(source_pixbuf, destination_pixbuf, 0, 0, 32, 32, 0, 0, 1, 1, interp_type, 0xFF) result_pixel = load_pixel (destination_pixbuf.get_pixels(), 16 * destination_pixbuf.get_rowstride() + \ 16 * destination_pixbuf.get_n_channels(), destination_alpha) if result_pixel != expected_result: if type == GdkPixbuf.INTERP_NEAREST: interpolation_type = "GdkPixbuf.INTERP_NEAREST" elif type == GdkPixbuf.INTERP_TILES: interpolation_type = "GdkPixbuf.INTERP_TILES" elif type == GdkPixbuf.INTERP_BILINEAR: interpolation_type = "GdkPixbuf.INTERP_BILINEAR" elif type == GdkPixbuf.INTERP_HYPER: interpolation_type = "GdkPixbuf.INTERP_HYPER" else: interpolation_type = "???" if source_alpha: source_string = "0x%08X" % source_pixel else: source_string = "0x%06X" % source_pixel if destination_alpha: destination_string = "0x%08X" % destination_pixel result_string = "0x%08X" % result_pixel expected_string = "0x%08X" % expected_result else: destination_string = "0x%06X" % destination_pixel result_string = "0x%06X" % result_pixel expected_string = "0x%06X" % expected_result print "ERROR **" return FALSE return TRUE
def simple_composite_test_one (interp_type, source_pixel, source_alpha, destination_pixel, destination_alpha, expected_result): print "simple_composite_test_one (%s, %s, %s, %s, %s, %s)" % \ (interp_type, source_pixel, source_alpha, destination_pixel, destination_alpha, expected_result) source_pixbuf = GdkPixbuf.GdkPixbufBlank (GdkPixbuf.COLORSPACE_RGB, source_alpha, 8, 32, 32) destination_pixbuf = GdkPixbuf.GdkPixbufBlank (GdkPixbuf.COLORSPACE_RGB, destination_alpha, 8, 32, 32) fill_with_pixel (source_pixbuf, source_pixel) fill_with_pixel (destination_pixbuf, destination_pixel) GdkPixbuf.pixbuf_composite (source_pixbuf, destination_pixbuf, 0, 0, 32, 32, 0, 0, 1, 1, interp_type, 0xFF) result_pixel = load_pixel (destination_pixbuf.get_pixels(), 16 * destination_pixbuf.get_rowstride() + \ 16 * destination_pixbuf.get_n_channels(), destination_alpha) if result_pixel != expected_result: if type == GdkPixbuf.INTERP_NEAREST: interpolation_type = "GdkPixbuf.INTERP_NEAREST" elif type == GdkPixbuf.INTERP_TILES: interpolation_type = "GdkPixbuf.INTERP_TILES" elif type == GdkPixbuf.INTERP_BILINEAR: interpolation_type = "GdkPixbuf.INTERP_BILINEAR" elif type == GdkPixbuf.INTERP_HYPER: interpolation_type = "GdkPixbuf.INTERP_HYPER" else: interpolation_type = "???" if source_alpha: source_string = "0x%08X" % source_pixel else: source_string = "0x%06X" % source_pixel if destination_alpha: destination_string = "0x%08X" % destination_pixel result_string = "0x%08X" % result_pixel expected_string = "0x%08X" % expected_result else: destination_string = "0x%06X" % destination_pixel result_string = "0x%06X" % result_pixel expected_string = "0x%06X" % expected_result print "ERROR **" return FALSE 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
def configure_cb(drawing_area, evt): pixbuf = drawing_area.get_data("pixbuf") print "X:%d Y:%d" % (evt.width, evt.height) if evt.width != pixbuf.get_width() or \ evt.height != pixbuf.get_height(): root = gtk._root_window() new_pixbuf = GdkPixbuf.GdkPixbufFromDrawable ( \ None, root, None, 0, 0, 0, 0, evt.width, evt.height) drawing_area.set_data("pixbuf", new_pixbuf) del pixbuf return FALSE
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 open_img (_b): file = fs.get_filename () try: im = GdkPixbuf.GdkPixbufFromFile (file) except Exception: # RuntimError like pyimlib?? return win = GtkWindow () win.connect ("destroy", close) win.connect ("delete_event", close) win.connect ("configure_event", resize) win.set_title (file) win.set_data ("user_data", im) pix = im.xmake_pixmap () pix.show () win.add (pix) win.show ()
def main(): ########### gdk_rgb_set_verbose (TRUE); push_rgb_visual() try: tbf_readlen = os.environ["TBF_READLEN"] except KeyError: tbf_readlen = "" if tbf_readlen: readlen = string.atoi(tbf_readlen) try: tbf_bps = os.environ["TBF_KBPS"] except KeyError: tbf_bps = "" if tbf_bps: bps = string.atoi(tbf_bps) print "Simulating %d kBytes/sec" % bps readlen = (bps * 1024) / 10 i = 1 if len(sys.argv) == 1: print "USAGE: testanimation.py FILE1 ..." return 0 for i in range(1, len(sys.argv)): animation = GdkPixbuf.GdkPixbufAnimationFromFile(sys.argv[i]) j = 0 frames = animation.get_frames() for frame in frames: pixbuf = frame.get_pixbuf() title = "Frame %d" % j print "Frame %d x:%d y:%d width:%d height:%d" % \ (j, frame.get_x_offset(), frame.get_y_offset(), pixbuf.get_width(), pixbuf.get_height()) new_testrgb_window(pixbuf, title) j = j + 1 found_valid = TRUE mainloop() return 0
def main(): push_rgb_visual() root = gtk._root_window() pixbuf = GdkPixbuf.GdkPixbufFromDrawable(None, root, None, 0, 0, 0, 0, 150, 160) win = GtkWindow() win.connect("delete_event", mainquit) win.connect("destroy", mainquit) vbox = GtkVBox() win.add(vbox) drawing_area = GtkDrawingArea() drawing_area.size(pixbuf.get_width(), pixbuf.get_height()) drawing_area.connect("expose_event", expose_cb) drawing_area.connect("configure_event", configure_cb) drawing_area.set_data("pixbuf", pixbuf) vbox.pack_start(drawing_area) win.show_all() mainloop()
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 ## MAIN ## if len(sys.argv) != 2: print "Usage: testpixbuf-scale FILE" sys.exit(1) push_rgb_visual() pixbuf = GdkPixbuf.GdkPixbufFromFile(sys.argv[1]) window = GtkWindow() window.connect("destroy", mainquit) vbox = GtkVBox() window.add(vbox) menu = GtkMenu() menuitem = GtkMenuItem("NEAREST") menuitem.connect("activate", set_interp_type, GdkPixbuf.INTERP_NEAREST) menu.show() menu.add(menuitem) menuitem = GtkMenuItem("BILINEAR")
#!/usr/bin/python import gtklib from gtk import * import GdkPixbuf from Test import * pixbuf = GdkPixbuf.GdkPixbufFromFile("pic.ppm") show_pixbuf(pixbuf, "pic.ppm") pixbuf_scaled = pixbuf.scale_simple(100, 200, GdkPixbuf.INTERP_BILINEAR) show_pixbuf(pixbuf_scaled, "pixbuf_scaled") pixbuf_composited_color_simple = pixbuf.composite_color_simple( 200, 200, GdkPixbuf.INTERP_NEAREST, 0, 40, 10000, 50000) show_pixbuf(pixbuf_composited_color_simple, "pixbuf_composited_color_simple") app() mainloop()
from Test import * import _GdkPixbuf _GdkPixbuf.set_debugging (1) win = GtkWindow () win.connect ("destroy", mainquit) win.set_usize (200, 200) button = GtkButton ("quit") button.connect ("clicked", mainquit) win.add (button) win.show_all () files = ["pic.jpg", "pic.gif", "pic.xpm", "pic.ppm", "pic.png"] for file in files: pixbuf = GdkPixbuf.GdkPixbufFromFile (file) show_pixbuf (pixbuf, file) pixbuf_copy = pixbuf.copy () show_pixbuf (pixbuf_copy, "this is a copy()") pixbuf = GdkPixbuf.GdkPixbufBlank (colorspace=GdkPixbuf.COLORSPACE_RGB, has_alpha=TRUE, bits_per_sample=8, width=50, height=50) show_pixbuf (pixbuf, "new with alpha=TRUE") pixbuf = GdkPixbuf.GdkPixbufBlank (colorspace=GdkPixbuf.COLORSPACE_RGB, has_alpha=FALSE, bits_per_sample=8, width=50, height=50) show_pixbuf (pixbuf, "new with alpha=FALSE")
10, 30, 100, 100, dither=0, x_dither=0, y_dither=0) def render_to_drawable_alpha (button, pixbuf, drawable): pixbuf.render_to_drawable_alpha (drawable.get_window(), drawable.get_style().black_gc, 45, 20, 10, 30, 100, 100, alpha_mode=GdkPixbuf.ALPHA_FULL, alpha_threshold=20000, dither=0, x_dither=0, y_dither=0) #pixbuf = GdkPixbuf.GdkPixbufFromFile ("pic.gif") pixbuf = GdkPixbuf.GdkPixbufFromFile ("xxx5.ppm") win = GtkWindow () win.set_usize (400, 400) win.connect ("destroy", mainquit) vbox = GtkVBox () win.add (vbox) drawing_area = GtkDrawingArea () vbox.pack_start (drawing_area) button = GtkButton ("render to drawable") button.connect ("clicked", render_to_drawable, pixbuf, drawing_area) vbox.pack_start (button, FALSE)
#!/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()
text = text + "delay time == %d\n" % frame.get_delay_time() action = frame.get_action() if action == 0: action_string = "FRAME_RETAIN" elif action == 1: action_string = "FRAME_DISPOSE" elif action == 2: action_string = "FRAME_REVERT" else: raise "BadEnumHaHa" text = text + "action == %s" % action_string label = GtkLabel(text) vbox.pack_start(label, FALSE, FALSE) win.show_all() anim = GdkPixbuf.GdkPixbufAnimationFromFile("anim.gif") #anim = GdkPixbuf.GdkPixbufAnimationFromFile ("pic.jpg") frames = anim.get_frames() print "width == %d" % anim.get_width() print "height == %d" % anim.get_height() print "number of frames = %d" % anim.get_num_frames() print "frames == ", frames for frame in frames: show_frame(frame) app() mainloop()
def get_drawable (button, win): pixbuf = GdkPixbuf.GdkPixbufFromDrawable (None, win.get_window(), win.get_colormap(), 0, 0, 0, 0, 100, 100) show_pixbuf (pixbuf)
else: pixbuf.render_to_drawable(drawing_area.get_window(), drawing_area.get_style().black_gc, 0, 0, frames[count].get_x_offset(), frames[count].get_y_offset(), pixbuf.get_width(), pixbuf.get_height(), dither, 0, 0) count = count + 1 if count == len(frames): count = 0 return TRUE push_rgb_visual() animation = GdkPixbuf.GdkPixbufAnimation(sys.argv[1]) win = GtkWindow() drawing_area = GtkDrawingArea() drawing_area.size(animation.get_width(), animation.get_height()) win.add(drawing_area) frames = animation.get_frames() print frames pixbufs = [] for frame in frames: p = frame.get_pixbuf() pixbufs.append(p) timeout = timeout_add(frames[0].get_delay_time() * 10, play)
#!/usr/bin/python import gtklib from gtk import * import GdkPixbuf from Test import * pixbuf = GdkPixbuf.GdkPixbufFromFile ("pic.jpg") show_pixbuf (pixbuf, "pic.jpg") pixbuf_with_alpha = pixbuf.add_alpha (TRUE, 23333, 22222, 23333) show_pixbuf (pixbuf_with_alpha, "with alpha") pixbuf_to_copy_into = GdkPixbuf.GdkPixbufFromFile ("pic.gif") pixbuf.copy_area (20, 20, 100, 100, pixbuf_to_copy_into, 0, 0) show_pixbuf (pixbuf_to_copy_into, "copied into") app() mainloop ()
#!/usr/bin/python import gtklib from gtk import * import GdkPixbuf import GDK import sys import string if len(sys.argv) != 4: print "usage: %s <image file> <new width> <new height>" % sys.argv[0] sys.exit (1) filename = sys.argv[1] width = string.atoi (sys.argv[2]) height = string.atoi (sys.argv[3]) pixbuf = GdkPixbuf.GdkPixbufFromFile (filename) pixbuf = pixbuf.scale_simple (width, height, GDK.INTERP_NEAREST) win = GtkWindow () win.connect ("destroy", mainquit) pixmap = pixbuf.xmake_pixmap () win.add (pixmap) win.show_all () mainloop ()
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")
#!/usr/bin/python import gtklib from gtk import * import GdkPixbuf from Test import * pixbuf = GdkPixbuf.GdkPixbufFromFile("pic.jpg") show_pixbuf(pixbuf, "pic.jpg") pixbuf2 = GdkPixbuf.GdkPixbufFromFile("pic.xpm") show_pixbuf(pixbuf2, "pic.xpm") (gdkpixmap, gdkmask) = pixbuf2.render_pixmap_and_mask() pixbuf.render_threshold_alpha(gdkmask, 0, 0, 0, 0, 100, 100, 0) show_pixbuf(pixbuf, "render_threshold_alpha()") app() mainloop()