Example #1
0
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()
Example #2
0
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
Example #7
0
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()
Example #12
0
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()
Example #15
0
    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()
Example #16
0
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)
Example #18
0
#!/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 ()

Example #19
0
#!/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")
Example #21
0
#!/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()