[Magick-bugs] A bug in writing one-channel PNG-files from Magick++ ???
Jorma Laaksonen
jorma.laaksonen at hut.fi
Fri Sep 20 16:13:23 PDT 2002
Glenn Randers-Pehrson <glennrp at comcast.net> writes:
> At 03:24 PM 9/19/02 +0300, Jorma Laaksonen wrote:
> >> Do you see the same if you write the png before writing the tiff?
> >> img1.write("test1.png");
> >> img1.write("test1.tiff");
> >
> >Yes I do.
>
> Hmmph. Also please demonstrate that a simpler program that only writes
> test1.png also produces the same wrong result. I assume it will.
>
> Curiously, 386 is the average value of the 4 pixels... You might
> try another set of 4 values like 10 10 10 12 12 12 14 14 14 16 16 16
> 120 120 120 130 130 130 and see if it happens again (this should
> produce 257*13 = 3341)
So, now I'm using a Linux RedHat 7.3 system with:
gcc-c++-2.96-112
ImageMagick-(and other packages)-5.4.3.11-1
libpng-1.0.14-0.7x.3
netpbm-progs-9.24-3
The code now looks like:
#include <Magick++.h>
using namespace Magick;
main() {
unsigned char d1[] = { 10, 10, 10, 12, 12, 12, 14, 14, 14, 16, 16, 16 };
Image img1(2, 2, "RGB", CharPixel, d1);
img1.write("test1.png");
}
Compiling it:
$> /usr/bin/g++ -I/usr/include/X11/magick myfile.C -L/usr/X11R6/lib -lMagick++ -lMagick -Wl,-rpath -Wl,/usr/X11R6/lib
Running it:
$> ./a.out
Seeing the result:
$> /usr/bin/pngtopnm test1.png | pnmnoraw
P2
2 2
65535
3084 3084
3084 3084
Or alternatively:
$> /usr/X11R6/bin/convert test1.png TXT:-
0,0: 3084,3084,3084 #0c0c0c0c0c0c
1,0: 3084,3084,3084 #0c0c0c0c0c0c
0,1: 3084,3084,3084 #0c0c0c0c0c0c
1,1: 3084,3084,3084 #0c0c0c0c0c0c
(So you didn't guess it...)
Additionally:
$> ldd ./a.out
libMagick++.so.5 => /usr/X11R6/lib/libMagick++.so.5 (0x40013000)
libMagick.so.5 => /usr/X11R6/lib/libMagick.so.5 (0x40078000)
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x40244000)
libm.so.6 => /lib/libm.so.6 (0x40287000)
libc.so.6 => /lib/libc.so.6 (0x402a8000)
libtiff.so.3 => /usr/lib/libtiff.so.3 (0x403cf000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40412000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40452000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x40470000)
libdpstk.so.1 => /usr/X11R6/lib/libdpstk.so.1 (0x40492000)
libdps.so.1 => /usr/X11R6/lib/libdps.so.1 (0x40499000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x404db000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404e8000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40535000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x4053d000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40554000)
libbz2.so.1 => /usr/lib/libbz2.so.1 (0x40629000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x40639000)
libz.so.1 => /usr/lib/libz.so.1 (0x406dc000)
libpthread.so.0 => /lib/libpthread.so.0 (0x406eb000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libdl.so.2 => /lib/libdl.so.2 (0x40700000)
Yours,
Jorma Laaksonen
--
Jorma Laaksonen email: jorma.laaksonen at hut.fi
Dr. of Science in Technology, Docent http://www.cis.hut.fi/jorma/
Laboratory of Computer and Information Science tel. +358-9-4513269
Helsinki University of Technology fax. +358-9-4513277
P.O.Box 5400, Fin-02015 HUT, Finland mob. +358-50-3058719
More information about the Magick-bugs
mailing list