César Leonardo Blum Silveira wrote:
Hello all,
I think this is my first post to the list, but I've been reading it
for a while now.
When using GTK in C, there is a data type called GdkPixdata. It's a
structure that contains information about an image, like width and
height, and also a buffer with lots of rgb values.
I couldn't find anything similar in PyGTK, however. Basicly, what I
want to know is if there is a way to store lots of rgb values and x
and y coordinates on some kind of structure and then convert it into a
GdkPixbuf and then display it.
I'll use that to visualize the results of another program, that
outputs a file like the following:
X Y R G B
X Y R G B
Starting from the inputs:
- 'w': the total width of the image.
- 'h': the total height of the image.
- 'data': a list of (x,y,r,g,b) where r, g, and b are integers in the
range [0,255].
You could use Numeric to create the image:
import Numeric
import gtk
array = Numeric.zeros((h,w,3), 'b')
for (x,y,r,g,b) in data:
array[y,x,:] = (r, g, b)
pixbuf = gtk.gdk.pixbuf_new_from_array(array,
gtk.gdk.COLORSPACE_RGB, 8)
This will leave the pixels that aren't mentioned in 'data' black. If
you want them to be clear (alpha of zero) instead:
import Numeric
import gtk
array = Numeric.zeros((h,w,4), 'b')
for (x,y,r,g,b) in data:
array[y,x,:] = (r, g, b, 255)
pixbuf = gtk.gdk.pixbuf_new_from_array(array,
gtk.gdk.COLORSPACE_RGB, 8)
--
Tim Evans
Applied Research Associates NZ
http://www.aranz.com/
_______________________________________________
pygtk mailing list pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/