Question about importing data from memory

[email protected] (Jeff Cunningham)
Newsgroups php.gd.devel
Message-ID <[email protected]>
Hi,

I am processing some imagery that comes directly from sensors so that I 
end up with it in an NxM array of unsigned integers of rgb values (for 
example, array[0][0]=\xff0000 would be a red pixel in the upper-left 
corner). Some of this imagery wants to end up on web pages with text 
annotation, which is why I am looking at using the gd library. 
Currently, I save these images as bmp files using my own code, convert 
them to jpeg using imagemagick's convert utility, and they have no 
annotations.

Is there a way to get the data from my arrays directly into a gdImage? I 
was looking through the API and could only find the function 
gdImageCreateFromGdPtr:

http://www.libgd.org/OldImageCreation#gdImageCreateFromGdPtr.28int_size.2C_void_.2Adata.29_.28FUNCTION.29

but I couldn't find any description of the format of a GdPtr. I could go 
to the source code, but in my experience when something isn't described 
in the API, its often not stable, so I don't want to get off on the 
wrong track.

I did take a look at a couple of the files like gdxpm.c for guidance, 
and there it appears that one creates a gdImage and populates it by 
creating a color table on the fly and writing indices instead of pixels. 
The problems I can see with this approach are that - unless duplicate 
color entries are allowed - there will be a significant overhead 
involved in searching the table for an existing color each time before 
creating a new one, which with Truecolor could be hugely inefficient.

 I didn't see any related discussions in the list archives. How do 
people handle this kind of problem?

Thanks,

Jeff Cunningham
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.