Re: Help with GdkPIxbuf and GtkImage...

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

 



On Thu, 01 Jun 2006 22:41:35 PDT, heavenscape said:

> //create a GdkPixbuf
> 	GdkPixbuf* pb = gdk_pixbuf_new_from_data( pDisplayBuf,   // data buffer
> 		GDK_COLORSPACE_RGB,   //COLORSPACE
> 		FALSE,  // has_alpha,
> 		8,          //      int bits_per_sample,
>           	2048,  //      int width,
>            	2048,  //      int height,
>                	2048*3,  // sizeX*3;  //int rowstride,
>               	NULL,    //GdkPixbufDestroyNotify destroy_fn,
>             	NULL     //gpointer destroy_fn_data);
> 		);

> the results i got is that: the image did appear, but the sizes are shrinked
> as 684 X 684 , and  there are THREE same images tile in the viewport, the
> first and last ones are clipped.

684 is 2048/3, plus rounding.  Are you sure that when you *loaded* the image
into your pDisplayBuf, you correctly calculated where the various bytes go?

Assuming  pixel values r, g, and b, storing them into your pDisplayBuf for
a given x,y (0-based coordinates 0..2047) is like this:

     pDisplayBuf[x*3+y]   = r;
     pDisplayBuf[x*3+y+1] = g;
     pDisplayBuf[x*3+y+2] = b;

Hmm... using x+y instead of x*3+y will produce a 1/3 width image and 2/3 trash.
Other possibility is you're using 3*y+x instead (confusion of x/y between your
code and what Gdk expects).

Attachment: pgpjXw742LHyF.pgp
Description: PGP signature

_______________________________________________

gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux