Re: [GD-DEVEL] Need som help writing raw data to a jpg

[email protected] (Pierre)
Newsgroups php.gd.devel
Message-ID <[email protected]>
Hello Tomas,

On 11/8/06, Tomas Zajc <[email protected]> wrote:

> I'm just starting using libgd and I wold need some help. I'm trying to make a
> program that should be able to write some raw data I've got on a float
> pointer to a jpg file. I couldn't find the correct way to do it looking at
> the examples on the gd page.
>
> so long I got
>
>         im = gdImageCreate(outsamples, outlines);
>         black = gdImageColorAllocate(im, 0, 0, 0);
>         white = gdImageColorAllocate(im, 255, 255, 255);
>
>         if((quick=fopen(argv[2], "wb"))==NULL)
>         {
>                 printf("No se pudo abrir el jpg archivo de salida %s\n", argv[2]);
>                 return 2;
>         }
>         gdImageJpeg(im, quick, 70);
>
> but I cant put my data into the im pointer. I I'm not sure which function
> should I use to do it. I tried: gdImageCreateFromJpegPtr(int size, void
> *data) withpout any help.
>
> I'm now starting to doubt if gd can do such thing.
>
>  Any sugestion?

If you target format, I suggest you to use gdImageCreateTrueColor.
This format has "unlimited" colors. The question is what represent the
float values. For the example here, I will suppose you get a two
dimensional array and assign the float value to each channel, red,
green and blue.

im = gdImageCreateTrueColor(outsamples, outlines);
for (y = 0; y < outlines; y++) {
    for (x  = 0; x < outsamples; x++) {
        gdImageSetPixel(im, gdTrueColor(val,val,val));
    }
}
/* Save the image */

gdTrueColor function simply creates the 24bit RGB value (no alpha used
here) using the float value. gdImageSetPixel put this value at the
position (x,y) in the image buffer.

I hope I answered your question, please feel free to ask further
informations or optimizations.

--Pierre
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.