依赖包
之前在使用Imagemagick的时候,会遇到一个不能转换jpg文件的问题,问题情况就是可以通过 convert命令将其他文件转化成jpg文件,但不能将jpg文件转化为其他格式的文件。比如convert 1.jpg 2.png时会报错:
convert: no decode delegate for this image format 1.jpg
找了很久都没有找到有用的资料,直到昨天,才突然找到一篇可用的资料,终于解决了这一问题。下面是操作步骤:
首先通过convert -list format指令,查看自己是否有jpeg这一格式,如果没有,那么进行下一步操作。
进入http://www.imagemagick.org/download/delegates/ 网站,找到最新的jpegsrc文件,我下载的是jpegsrc.v9a。
以Ubuntu为例,安装
./configure
make
make install
以上是支持jpeg转换
下载linpng1.6.16.tar.gz 支持png转换
如何安装:
GraphicsMagick可以使用源码安装在任何现代的Unix机器(Linux和MacOS X)和Windows上,这里只介绍Linux下的安装,其他的安装还需要参看这里。
下载 .tar.gz 的源码包,进行解压
tar -xvzf GraphicsMagick-1.3.12.tar.gz
解压后,原来在的gz文件就变成了tar文件,进入文件夹
cd GraphicsMagick-1.3.12
安装之前,因为是图片处理,所以需要系统中安装了libpng和libjpeg的开发包,否则的话不会安装这两种文件的支持。
使用 configure 来进行自动的配置、build和安装
./configure
接下来就是安装
make
make install
在linux下运行程序时,发现了error while loading shared libraries这种错误,一时间不知道解决办法,在网上搜索,终于解决了:
./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。
一般而言,有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,果然发现自己所需要的.so文件。
所以,在/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置即可。