Jon*_*817 4 linux png delegates imagemagick libpng
我一直在尝试在Linux服务器上运行ImageMagick上的以下脚本
convert resized.png -gravity Center -crop 1024X768+0+0 +repage flower.png
Run Code Online (Sandbox Code Playgroud)
但一直遇到以下错误:
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.
Run Code Online (Sandbox Code Playgroud)
看起来PNG没有代表.
当我跑:
identify -version
Run Code Online (Sandbox Code Playgroud)
我得到这个结果,表明没有安装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
Run Code Online (Sandbox Code Playgroud)
据我所知,我的服务器上安装了"libpng".
如何在Linux服务器上为ImageMagick配置PNG委托?
我安装了'yum'但不是'apt-get'.
我做了很多搜索并找到了答案.
看起来ImageMagick不知道要查找哪个库.
我做了一个
locate libpng
Run Code Online (Sandbox Code Playgroud)
并发现它位于
/usr/lib64/
Run Code Online (Sandbox Code Playgroud)
然后我就可以在这个页面上运行命令(从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
Run Code Online (Sandbox Code Playgroud)
然后跑
identify -version
Run Code Online (Sandbox Code Playgroud)
显示以下结果:
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
Run Code Online (Sandbox Code Playgroud)
这表明PNG现在作为代理安装.