我一直在尝试在
Linux服务器上运行ImageMagick上的以下脚本
convert resized.png -gravity Center -crop 1024X768+0+0 +repage flower.png
但一直遇到以下错误:
convert: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/501. convert: no images defined `flower.png' @ error/convert.c/ConvertImageCommand/3212.
看起来PNG没有代表.
当我跑:
identify -version
我得到这个结果,表明没有安装PNG委托:
Version: ImageMagick 6.9.0-4 Q16 x86_64 2015-01-25 http://www.imagemagick.org Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC Features: DPC OpenMP Delegates (built-in): bzlib freetype jpeg lcms tiff x zlib
据我所知,我的服务器上安装了“libpng”.
如何在Linux服务器上为ImageMagick配置PNG委托?
我安装了’yum’但不是’apt-get’.
解决方法
我做了很多搜索并找到了答案.
看起来ImageMagick不知道要查找哪个库.
我做了一个
locate libpng
并发现它位于
/usr/lib64/
然后我就可以在这个页面上运行命令(从ImageMagick目录中):
http://www.imagemagick.org/discourse-server/viewtopic.php?t=12366
./configure --enable-shared make libdir=/usr/lib64 make libdir=/usr/lib64 install ./configure --enable-shared=yes --x-libraries=/usr/lib64 --without-perl make make install
然后跑
identify -version
显示以下结果:
Version: ImageMagick 6.9.0-4 Q16 x86_64 2015-01-30 http://www.imagemagick.org Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC Features: DPC OpenMP Delegates (built-in): bzlib freetype jng jpeg lcms png tiff x zlib
这表明PNG现在作为代理安装.