PNG support natively

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
LangeNet

PNG support natively

Post by LangeNet »

I see there is a delegate for PNG, but I seem to be able to read and convert PNG to TIFF without the library.
So I'm confused - ... I know, again... as to why there is an addition PNG component for IM.
tsdineen
Posts: 81
Joined: 2007-01-18T08:45:31-07:00

Re: PNG support natively

Post by tsdineen »

What platform are you on?
LangeNet

Re: PNG support natively

Post by LangeNet »

Tru64 5.1b
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: PNG support natively

Post by magick »

See http://thewrittenword.com/. They provide pre-compiled binaries of Open Source software on AIX, HP-UX, IRIX, Redhat Linux, Solaris, and Tru64 UNIX. Note, we have no connection with these folks other than they provide ImageMagick with their distributions.
LangeNet

Re: PNG support natively

Post by LangeNet »

My question stems from the fact that I can do:

convert 003_0576_0528.png 003_0576_0528.tiff


and yet I haven't installed any png libraries.
tsdineen
Posts: 81
Joined: 2007-01-18T08:45:31-07:00

Re: PNG support natively

Post by tsdineen »

There is probably a libpng in /usr/lib or some other $LD_LIBRARY_PATH location.

do an ldd or chatr on convert and see where it might be pulled in.
LangeNet

Re: PNG support natively

Post by LangeNet »

No sign libpng..... :? Strange eh???

root_rcsr01# ldd /usr/local/bin/convert

Main => /usr/local/bin/convert
libMagickCore.so.1 => /usr/local/lib/libMagickCore.so.1
libMagickWand.so.1 => /usr/local/lib/libMagickWand.so.1
libtiff.so.3 => /usr/local/lib/libtiff.so.3
libc.so => /usr/shlib/libc.so
libXext.so => /usr/shlib/libXext.so
libXt.so => /usr/shlib/libXt.so
libpthread.so => /usr/shlib/libpthread.so
libSM.so => /usr/shlib/libSM.so
libICE.so => /usr/shlib/libICE.so
libX11.so => /usr/shlib/libX11.so
libm.so => /usr/shlib/libm.so
libmach.so => /usr/shlib/libmach.so
libexc.so => /usr/shlib/libexc.so
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

Re: PNG support natively

Post by anthony »

Not strange.

To allow "convert" to run when not all the librarys and delegates are present, IM calls 'coder' modules that have the dependancy to the library needed. If the library is not present only that 'coder' module will fail, and NOT the whole "convert" command.

On my machine these coder modules are located in
/usr/lib/ImageMagick-6.3.8/modules-Q16/coders

Code: Select all

ldd /usr/lib/ImageMagick-*/modules-Q16/coders/tiff.so
...
libtiff.so.3 => /usr/lib/libtiff.so.3 (0x006e6000)
...

This means that if a user does not need 'tiff', or 'dpx' or 'pict' or some other image format, he does not need to install all the librarys because IM depends on it.

That is IM makes the dependancy optional, You only need the library if you want to use that image format. You don't need it if you never use it!

I wish more packages did this (like Fedora gnome!) as the dependency tree they generate can result in huge amounts of software being installed on your machine, which you never actually use!
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
Post Reply