Re: [GD-DEVEL] Problem using gdImageGetPixel()

[email protected] (Yorn) Thu, 18 Dec 2008 13:31:31 +0100
Newsgroups php.gd.devel
Organization streamnik
Message-ID <[email protected]>
Hey,

However, the example code leads to a segfault...  

What I really want is the following:
1) Read a picture (This is where I would like to use libgd for)
2) Maybe resize/resample it
3) get a plain rgba picture (successive placed into memory), so that I can do 
some internal manipulation
4) calculate an YCbCr 420 Plain (where I would be happy to have the exactly 
plain discribed in 3)

Any idea, how I can get this rgb(a) plain?

- Yorn

Example can be seen here:
http://www.server.streamnik.de:88/test.html
 

Am Donnerstag 18 Dezember 2008 12:49:28 schrieben Sie:
> Hi,
>
> On Thu, 18 Dec 2008 10:41:29 +0100, Yorn <[email protected]> wrote:
> > I tried the example code from the web-page, which also does not work:
> >
> > ----------- snipp ------------
> > #include <stdio.h>
> > #include <gd.h>
> >
> > int main()
> > {
> >     FILE *in;
> >     gdImagePtr im;
> >     int c;
> >     in = fopen("pic1.jpg", "rb");
> >     im = gdImageCreateFromJpeg(in);
> >     fclose(in);
> >     c = gdImageGetPixel(im, gdImageSX(im) / 2, gdImageSY(im) / 2);
> >     printf("The value of the center pixel is %d", c);
> > //    int red = im->red[c];
> > //    int green = im->green[c];
> > //    int blue = im->blue[c];
> >
> > //    printf(" RGB values are %d %d %d\n", red, green, blue);
> >     gdImageDestroy(im);
> >     return(0);
> > }
> >
> > ---------- snipp ------------
>
> The example seems to lead to misunderstanding. In fact gdImage's members
> 'red', 'green', 'blue' etc. are considered private. The sentence leading
> the example are more helpful:
>   you can use gdImageRed or gdTrueColorGetRed
>  (be careful with this function, use it only with true color images).
>
> Cheers,
> -- Takeshi Abe