I have just started using the gnome-python system and am having trouble
displaying an image on the Gnome Canvas.

I'm using gnome-python-1.0.3

This is what I'm doing.  Am I doing something wrong?

import gtk
import GdkImlib
import gnome.ui

import MLab  # some numeric functions

arr = MLab.eye(50)  # an identity matrix

# Make the identity matrix into an RGB image with a diagonal of
#  RGB=255,255,255
arr = (arr[...,MLab.NewAxis]*MLab.ones((1,1,3))*255).astype('b') 

# create the image from a string of data
im = GdkImlib.create_image_from_data(arr.tostring(),None,50,50)

# Construct a window
win = gtk.GtkWindow()
win.connect('destroy',gtk.mainquit)
win.show()

# Construct a canvas
canvas = gnome.ui.GnomeCanvas()
canvas.set_usize(200,200)

# Add canvas to the window
win.add(canvas)
canvas.show()

# Add an ellipse to the window (this works)
el=canvas.root().add('ellipse',x1=30,x2=60,y1=40,y2=100,fill_color='blue')

# Add an image to the window (this doesn't)
theim = canvas.root().add('image',x=10,y=20,image=im._im)


gtk.mainloop()


The result of this script:

GnomeUI-ERROR **: file gnome-canvas-image.c: line 461 (recalc_if_needed):
assertion failed: (image->pixmap != NULL)
aborting...
Aborted (core dumped)


In the source-code this assertion takes place right after the command

image->pixmap = gdk_imlib_move_image (image->im);    

which I suppose renders the RGB image in a pixmap for display.  Apparently
this call is not working.  But it seems like I'm passing the right type
(im._im is a PyGdkImageObject in Python).

Any help is appreciated..


Thanks,

Travis Oliphant
[EMAIL PROTECTED]


To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]

Reply via email to