问题描述
我一直试图在Linux服务器上的ImageMagick上运行以下脚本
I have been trying to run the following script on ImageMagick on a Linux server
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的委托.
It looks like there is no delegate for PNG.
我跑步时:
identify -version
我得到的结果表明未安装PNG委托:
I get this result that shows that the PNG delegate is not installed:
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".
As far as I can tell I have 'libpng' installed on my server.
如何在Linux服务器上为ImageMagick配置PNG委托?
How do I configure the PNG delegate for ImageMagick on my Linux server?
我安装了"yum",但没有安装"apt-get".
I have 'yum' installed but not 'apt-get'.
推荐答案
我做了很多搜索,找到了这个答案.
I did a lot more searching and found this answer.
ImageMagick似乎不知道要查找哪个库.
It looks like ImageMagick did not know what library to look for.
我做了
locate libpng
发现它位于
/usr/lib64/
然后,我能够在此页面上运行命令(从ImageMagick目录中):
I was then able to run the commands on this page (from within the ImageMagick directory):
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现在已作为代理安装.
which shows that PNG is now installed as a delegate.
这篇关于在Linux服务器上的ImageMagick上配置PNG的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!