24-bit-per-pixel limit to Gdk RGB ?



Hi,
On Sunday, February 2, 2003, at 09:57 AM, Roland Smith wrote:

On Sat, 1 Feb 2003 18:09:48 -0300
"Individual . ." <individual mi cl> wrote:

I decided it would be great if I could learn how to plot an image to a
window, pixel by pixel. Getting the  image is no problem at all, since
I wrote a simple c++ class that uses libpng
(<http://pngwriter.sourceforge.net/>).
The plotting part is what is holding me up.

I have looked at the scribble program that is given as an example, but
I must say that the lack of a chapter on drawing_area widgets in the
tutorial isn't helping me one bit!

Plotting pixel by pixel is _slow_. It's better to use GdkRGB, e.g. using gdk_draw_rgb_image(). What you have to do is read from the png file to a buffer containing an array of rgb values. This is then drawn to a drawable. See the
example in the GDK manual.


After 2 weeks of silence, I'm back. I paused my learning of Gtk and did some things in Xlib. Not pretty, as someone said. I got as far as XCreateImage, but when I handed it the image data (in 48 bit-per-pixel triplets) it spewed out a distorted, flipped and psychedelic version of the original image. I tried to find what order it wanted the data in, but no luck. I asked on the XFree86-devel list, and got no useful answer.

So it's back to Gtk. Yes, having to mess with all colour depths is not pretty.

I looked at the API reference, and saw gdk_draw_rgb_image (), but it seems to be a 24-bit-per-pixel affair. Even the one with "32" in its name only is 32 bits per pixel because of 8 padding bits.

Is there a way to display 48-bit-per-pixel image data? The API reference entry for GdkRgbDither states:

"Since GdkRGB currently only handles images with 8 bits per component, dithering on 24 bit per pixel displays is a moot point. "

Uh-oh...

I'm looking at gdk_draw_pixbuf () right now, but I don't see anything referring to max bit depth.

Thanks in advance for the help and comments.

Paul




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]