Re: Display streaming JPGs
- From: Shiraz Baig <shiraz_baig yahoo com>
- To: diego otello alma unibo it, gtk-list gnome org
- Subject: Re: Display streaming JPGs
- Date: Thu, 26 Jun 2003 21:45:36 -0700 (PDT)
This is how I have done it. I use the libjpeg and
decompress the image data thru jpeg_read_scanlines().
It puts one line of image in the memory pointed by
buffer. I do the same for all the scanlines. At the
same time I keep putting it into the rgbbuf. The
rgbbub is a buffer reserving three bytes per pixel,
for whole of the image. I do the memcpy() and place
these pixes in the rgbbuf. Then I call
gdk_draw_rgb_image to render the picture on the
screen.
Here are some sample lines from my code:
guchar *rgbbuf;
JSAMPARRAY buffer;
struct jpeg_decompress_struct cinfo;
................
rgbbuf = (unsigned char *) malloc( imgwidth *
imgheight * 3);
.................
while (cinfo.output_scanline < cinfo.output_height)
{
ptr = nscanline * row_stride;
jpeg_read_scanlines (&cinfo, buffer, 1);
memcpy( &rgbbuf[ptr], (guchar *) buffer[0], bpix
* cinfo.output_width);
nscanline++;
}
.................
//da is actually drawing_area widget
gdk_draw_rgb_image (da->window,
da->style->fg_gc[GTK_STATE_NORMAL], x, y,
imgwidth, imgheight, GDK_RGB_DITHER_MAX, (guchar
*) rgbbuf, imgwidth * 3 );
//your message
I'd need to display some (256x256) JPG files retrieved
from a database
(text-encoded).
Encoding to/from text is not the issue. The issue is
making gdk-pixbuf
load'em whithout having to write a file. Is it
possible?
__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]