Linux安装ImageMagick与JMagick完成过程及配置
原文地址:http://www.iitshare.com/linux-install-imagemagick-jmagick.html
一、安装背景
最近在服务器上部署了HapiCMS的产品,因为其对图片的压缩是采用ImageMagick实现的,所以需要在服务器上面安装ImageMagick与jmagick,将操作的过程写了下来,和大家分享下,其中包含rpm方式安装、linux32位安装ImageMagick与jmagick、linux64位安装ImageMagick与jmagick,如果大家有什么问题可以进行留言,有时间的话会及时进行回复。
二、ImageMagick介绍
ImageMagick是用C语言开发图片处理程序。可以对图片进行改变大小、旋转、锐化、减色或增加特效等操作。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。
ImageMagick 的官网是:http://www.imagemagick.org/script/index.php
由于我们是java项目,直接使用java通过JNI技术调用ImageMagick是不行的。因为ImageMagick开发时没有使用java JNI生成的头文件。可以使用jmagick解决,jmagick是由c语言开发的,开发时使用了java JNI生成的头文件,所以java可以通过JNI技术调用jmagick。jmagick再调用ImageMagick。这们我们处理图片使用的是jmagick暴露的java接口。也可以使用JNA来调用ImageMagick,JNA全称是Java Native Access,JNA是在JNI的基础上完善的,方便的我们开发的。JNA项目主页是https://github.com/twall/jna。使用JNA来调用ImageMagick就须要直接操作ImageMagick提供的C接口(API)。
三、确保系统已经安装以下包
1
2
3
4
5
6
7
8
9
10
|
# yum install libjpeg # yum install libjpeg-devel # yum install libpng # yum install libpng-devel # yum install libtiff # yum install libtiff-devel # yum install libungif # yum install libungif-devel # yum install freetype # yum install zlib |
可以通过下面的命令进行查看
1
|
#rpm -qa |grep libjpeg |
如果没有安装,请通过yum命令安装以上依赖包
四、安装ImageMagick 不区分32位、64位操作系统
安装方式有两种,第一种方式是直接安装rpm方式安装,此方式也是本文推荐的方式
第二种方式是通过编译的方式安装,没有什么特殊要求建议还是用rpm方式安装
1、yum方式安装,具体如下:
1
2
3
|
# 如果以前安装过,卸载掉ImageMagick: #yum remove ImageMagick #yum install ImageMagick |
2、编译的方式进行安装
从http://downloads.jmagick.org/6.4.0/这个网址下载需要安装的版本,可以下载的文件包括以下
1
2
3
4
5
6
7
8
9
|
ImageMagick- 6.4 . 0 - 0 .tar.gz 24 -Mar- 2008 00 : 15 11M jmagick- 6.4 . 0 - 3 .i386.rpm 05 -Jun- 2009 09 : 27 172K jmagick- 6.4 . 0 - 3 .src.rpm 05 -Jun- 2009 09 : 27 524K jmagick- 6.4 . 0 - 3 .x86_64.rpm 05 -Jun- 2009 09 : 27 65K jmagick- 6.4 . 0 -src.tar.gz 11 -Feb- 2009 10 : 27 521K jmagick-debuginfo- 6.4 . 0 - 3 .x86_64.rpm 05 -Jun- 2009 09 : 27 135K jmagick-linux- 6.4 . 0 -Q8.tar.gz 08 -Dec- 2008 19 : 27 56K jmagick-linux- 6.4 . 0 -Q16.tar.gz 08 -Dec- 2008 19 : 27 56K jmagick-linux- 6.4 . 0 -Q32.tar.gz 08 -Dec- 2008 19 : 27 56K |
根据自己的需求安装相应版本的ImageMagick,具体的代码如下
1
2
3
4
5
6
|
#tar zxvf ImageMagick- 6.4 . 0 - 0 .tar.gz #cd ImageMagick- 6.4 . 0 #./configure --enable-shared --without-perl(如果不行就用./configure) #make #make install #make check |
3、安装完成后会生成一个convert
1
2
|
#find / -name convert #convert --version |
可以根据查看的结果判断安装是否成功。
然后可以在命令行下试试是否能用convert命令
1
|
#convert -geometry 100x200 源文件.jpg 处理后文件.gif (格式转换) |
五、安装JMagick
安装的前提是下载了上面步骤三、安装ImageMagick中2里面说的安装包
1、安装依赖的库等
注意:无论是否有自己的 JRE/JDK 感觉这个还是必须要有,否则安装 RPM 会提示找不到相关的JAVA库
注意:安装 jmagick-src 的时候,如果没有这个 jman 帐号,会安装出错
Shell代码如下:
1
2
|
# yum install java; # /usr/sbin/useradd –u 1000 –s /sbin/nologin jman; |
2、32位操作系统 rpm 方式安装jmagick,shell代码如下:
1
2
|
# rpm –ivh jmagick- 6.4 . 0 - 3 .i386.rpm # rpm –ivh jmagick- 6.4 . 0 - 3 .src.rpm |
3、64位操作系统 rpm 方式安装jmagick,shell代码如下:
1
2
3
|
# rpm –ivh jmagick- 6.4 . 0 - 3 .x86_64.rpm # rpm –ivh jmagick- 6.4 . 0 - 3 .src.rpm # rpm –ivh jmagick-debuginfo- 6.4 . 0 - 3 .x86_64.rpm |
32位操作系统无jmagick-debuginfo-6.4.0-3.x86_64.rpm文件
4、如果安装src出现以下错误
1
2
|
[root @localhost ~]# rpm -ivh jmagick- 6.4 . 0 - 3 .src.rpm error: cannot create %sourcedir /usr/src/redhat/SOURCES |
则执行以下语句即可
1
2
|
[root @localhost ~]# mkdir /usr/src/redhat [root @localhost ~]# mkdir /usr/src/redhat/SOURCES |
5、编译的方式安装jmagick,不区分32位还是64位,具体的Shell代码如下:
1
2
3
4
5
6
7
|
tar zvxf jmagick- 6.4 . 0 -src.tar.gz cd jmagick- 6.4 . 0 -src ./configure --prefix=/opt360/jmagick- 6.4 . 0 --with-java-home=/usr/local/java/jdk1. 6 .0_30 --with-magick-home=/opt360/ImageMagick- 6.4 . 0 make all make install |
安装成功后,在/opt360/jmagick-6.4.0/lib/有一个jmagick-6.4.0.jar文件,在你的java项目中就使用这个jar文件处理图片,需要将jmagick-6.4.0.jar文件挪到TOMCAT的BIN目录,具体命令如下:
1
|
# mv *.jar /usr/local/apache-tomcat- 6.0 . 35 /bin |
记住jmagick-6.4.0.jar是使用前面你指定的jdk1.6编译出来的,所以不能在jdk为1.5的环境下使用jmagick-6.4.0.jar。
如果你执行了make javadoc,在/opt360/jmagick-6.4.0/share/doc目录下就有文档。
安装中出现的问题解决
1、如果安装过程中出现以下错误:
1
2
|
error: Failed dependencies: jre is needed by jmagick- 6.4 . 0 - 3 .i386 |
说明没有安装上面步骤1中说明,安装JRE/JDK,请安装后再试
2、如果要测试的程序或者项目在Tomcat下,请重启Tomcat后再进行测试,我之前没有重启Tomcat,测试了几次还是报错,最后重启完Tomcat就好使了。
整个安装过程到此为止,欢迎大家阅读。
Linux安装ImageMagick与JMagick完成过程及配置的更多相关文章
- Linux安装MariaDB(Mysql)和简单配置 mariadb
Linux安装MariaDB(Mysql)和简单配置 1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动Ma ...
- 在windows和Linux上安装ImageMagick与jmagick,Maven配置、Java图片压缩代码(整理网上、结合自己情况、编写出来的新安装方式)
安装过程(如图所示) .Exceptionin thread "main" java.lang.UnsatisfiedLinkError:C:\WINDOWS\system32\j ...
- linux 安装 ImageMagick 和 imagick 扩展
使用命令安装 1.依次运行以下命令 yum install ImageMagick yum install ImageMagick-devel yum install php-pear 安装php-p ...
- linux 安装jdk以及nginx详细过程
一.安装jdk 1:首先下载jdk到本地,然后通过git 上传到linux服务器上 2:进入目录usr,并创建目录java,将jdk的压缩文件移动到该目录下 cd /usr mkdir java mv ...
- linux安装imagemagick,centos安装imagemagick方法
1.安装文件格式支持库 yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype- ...
- Linux安装MariaDB(Mysql)和简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start maria ...
- linux 安装中文支持包及中文字符集配置
由于某些原因系统安装时未安装中文支持,导致后续应用出现中文方块乱码现象,解决方法很简单,当然不是重装,只需以下三步即可搞定. 1.安装中文包: #yum -y groupinstall chinese ...
- Linux 安装elasticsearch、node.js、elasticsearch-head
前提:下载es的安装包 官网可以下载 es官网 安装elasticsearch 1 新建两个文件夹 一个存放安装文件,一个存放解压后的文件 mkdir -p /export/software //存放 ...
- linux安装apache的纠结过程
本以为linux下安装apache是件很简单的过程.三命令就可以搞定,jxvf解压,make 编译,make install 安装就OK了.没想到这个过程还颇费周折.可能和环境有关吧.先说一下我的环境 ...
随机推荐
- mysql 字符编码设置
安装mysql时如果字符编码为默认值latin1,则需要修改为utf8以便支持中文数据. 命令如下: 1.显示数据库字符集 mysql> show create database test;+- ...
- java 异常历史 和观点
异常起源于PL/1和Mesa之类的系统中. 1.) 不在于编译器是否会强制程序员去处理错误,而是要由一致的,使用异常来报告错误 2.) 不在于什么时候进行检查,而是一定要有检查.
- java 重新抛出异常
一.有时希望把刚捕获的异常重新抛出,尤其时在使用Exception捕获所以异常的时候,既然已经得到了对当前异常对象的引用,可以重新把它抛出: catch(Exception e){ System.ou ...
- Laravel 生成二维码的方法
(本实例laravel 版本 >=5.6, PHP版本 >=7.0) 1.首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里: "re ...
- Java编程的逻辑 (21) - 内部类的本质
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- CentOS7.x使用overlay文件系统
https://www.cnblogs.com/yufeng218/p/8370670.html http://www.cnblogs.com/lehuoxiong/p/9908118.html ht ...
- JS 解析JSON实现导序
var chartData = [ { "online": '2013-10-23', "new": 0.00, "login": 0.00 ...
- C语言:用指针求最大值和最小值
用指针求数组最大值和最小值(10分) 题目内容: 用指针求含有十个元素的数组最大值和最小值 主函数参考 int main() { int a[10],i,maxnum,minnum; for(i=0; ...
- vs2010添加头文件与库文件搜索目录
1 添加头文件搜索目录 项目属性->配置属性->C/C++->常规->添加包含目录 2 添加库文件搜索 项目属性->配置属性->VC++目录->库目录
- 001.Rsync简介及使用
一 基础知识 1.1 简介 Rsync是Linux系统中的数据镜像备份工具,通过rsync可以将本地系统数据通过网络备份到任何远程主机上.rysnc不仅仅能对不同位置的文件和目录进行同步,还可以差异计 ...