On 8/30/07, Marco Brambilla <[EMAIL PROTECTED]> wrote:
> Hello everybody,
>
> Firs of all I'm a newbye both to GTK and to this mailing list, so I apologize 
> for the triviality of the post.
> I'm writing a very simple application (language: C) which should grab frames 
> from a ccd camera and show them on the screen.
> The ccd images are stored as a 1D array of unsigned char, single channel 
> grayscale images.
> Looking around inside the API docs, I tried to use something like:
>
> pixbuf = gtk_pixbuf_new_from_data(.....);
> image = gtk_image_new_from_pixbuf(pixbuf);
>
> The problem is that this way, the displayed image is messed up, since (for 
> what I understand) gtk_pixbuf_new_from_data needs
> the three RGB channels.
> Is there a easy way of displaying such an image "as is" (single channel) ? Or 
> must I convert it each pixel to
> the a RGB triplet needed by gtk_pixbuf_new_from_data ?
> Any advice is very welcome.
>
> Thanks in advance to everybody.
>
> Marco

You could possibly use gdk_image, but it's easier to use a pixbuf and
just copy the grayscale value thrice into R, G and B. Remember to use
the rowstride, and not the width of the image when creating a pointer
to go from one row to the next.

-Jim
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to