|
From: Ethan M. <merritt@u.washington.edu> - 2008-12-11 20:36:02
|
On Thursday 11 December 2008 12:07:12 Petr Mikulik wrote: > > > >> plot '<convert table.png avs:-' binary filetype=avs with rgbimage > > > >> > > > >> Nowadays gnuplot is typically compiled with the gd library. Therefore it > > > >> should be pretty easy to use the gd-library to load png/gif/jpg images > > > >> directly. I think it may not be too much code in breaders.c. Could somebody > > > >> contribute this feature? > > > > > > > > I honestly don't see quite how that would work. > > > > Using libgd, or libpng for that matter, will result in an in-memory copy > > > > of the bitmap image. But that's not exactly what the binary file input code > > > > wants; it expects to read a stream of binary data on the input fd, so that it > > > > can filter, re-map, combine fields, etc. It seems to me that one would > > > > have to write a new input layer that dummies up access to an in-memory > > > > bitmap as successive reads to a fake pipe. > > The abstraction layer ... cannot be this done in some easy way? Currently > there are fread(f, ..., bytes) ... so instead of fread() there would be > memcpy(). > > > > > > What would we gain by adding all this extra code? Isn't it much better to let > > > > an external utility do this for us, as in the example you quote? > > > > > > One would gain readability. I would never have come to idea to use so > > > complicated code to be able to read PNG images. > > The gain would be portability and speed. We could put lena.png and lena.jpg > into demos/ and be sure that these demos can be run by Windows executables > as well. I don't see how requiring ImageMagick limits the portability, and it is a much more general solution than one that accommodates only png images. I am dubious that the speed is enough different to notice. As to Windows, it would be of far more value to get the popen() filter mechanism working under Windows than it would be to add large chunks of code to make up for various individual things you can't do because of this shared fundamental flaw. -- Ethan A Merritt Biomolecular Structure Center University of Washington, Seattle 98195-7742 |