• Linux端图形处理工具ImageMagick在Centos上的安装


    一、安装背景
    程序要用到用户上传图片,编辑的功能,能进行旋转,裁剪,缩放等。

    二、ImageMagick介绍

    ImageMagick是用C语言开发图片处理程序。可以对图片进行改变大小、旋转、锐化、减色或增加特效等操作。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、JavaPHPPython或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)。

    三、确保系统已经安装以下包
    # 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

    可以通过下面的命令进行查看
    #rpm -qa |grep libjpeg

    如果没有安装,请通过yum命令安装以上依赖包

    四、安装ImageMagick 不区分32位、64位操作系统

    安装方式有两种,第一种方式是直接安装rpm方式安装,此方式也是本文推荐的方式
     第二种方式是通过编译的方式安装,没有什么特殊要求建议还是用rpm方式安装
    1、yum方式安装,具体如下:
    # 如果以前安装过,卸载掉ImageMagick:
    #yum remove ImageMagick
    #yum install ImageMagick 
    2、编译的方式进行安装
     从http://downloads.jmagick.org/6.4.0/这个网址下载需要安装的版本,可以下载的文件包括以下
    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,具体的代码如下
    #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
    #find / -name convert
    #convert --version

    可以根据查看的结果判断安装是否成功。然后可以在命令行下试试是否能用convert命令
    #convert -geometry 100x200 源文件.jpg 处理后文件.gif (格式转换)、 
    补充
    1. 如果报如下错误 
    { [Error: Command failed: convert: no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/501.
    convert: no images defined `/home/node/head/I/IMG_0005.JPG' @ error/convert.c/ConvertImageCommand/3230.
    ] code: 1, signal: null }
    说明 我们的转换工具不支持该种图片的格式,可以用命令 identify -list format 确认下。
    解决方法  可以到这个网址下载相应的库 http://www.imagemagick.org/download/delegates/
    jpg或者png等格式都有。下载之后 
    解压
    tar zvxf libjpeg-6b.tar.gz
    #安装
    cd ~/zlib-1.2.7
    ./configure
    make
    make install
    按理说 到此应该就可以支持jpg格式了,但是我实际测试的时候 仍然不成功,后来追加了下一步,才成。
    重装Imagemagick
    make uninstall
    ./configure
    make
    make install
    再次调用 成功。
    五、安装JMagick

    安装的前提是下载了上面步骤三、安装ImageMagick中2里面说的安装包
    1、安装依赖的库等
     注意:无论是否有自己的 JRE/JDK 感觉这个还是必须要有,否则安装 RPM 会提示找不到相关的JAVA库
     注意:安装 jmagick-src 的时候,如果没有这个 jman 帐号,会安装出错
    Shell代码如下:
    # yum install java;
    # /usr/sbin/useradd –u 1000 –s /sbin/nologin jman; 
    2、32位操作系统 rpm 方式安装jmagick,shell代码如下:
    # rpm –ivh jmagick-6.4.0-3.i386.rpm
    # rpm –ivh jmagick-6.4.0-3.src.rpm 
    3、64位操作系统 rpm 方式安装jmagick,shell代码如下:
    # 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出现以下错误
    [root@localhost ~]# rpm -ivh jmagick-6.4.0-3.src.rpm
    error: cannot create %sourcedir /usr/src/redhat/SOURCES 
    则执行以下语句即可
    [root@localhost ~]# mkdir /usr/src/redhat
    [root@localhost ~]# mkdir /usr/src/redhat/SOURCES 
    5、编译的方式安装jmagick,不区分32位还是64位,具体的Shell代码如下:
    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目录,具体命令如下:
    # 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、如果安装过程中出现以下错误:
    error: Failed dependencies:
            jre is needed by jmagick-6.4.0-3.i386 
    说明没有安装上面步骤1中说明,安装JRE/JDK,请安装后再试
    2、如果要测试的程序或者项目在Tomcat下,请重启Tomcat后再进行测试,我之前没有重启Tomcat,测试了几次还是报错,最后重启完Tomcat就好使了。

  • 相关阅读:
    《区块链100问》第38集:比特币钱包是干嘛的?
    《区块链100问》第39集:冷钱包热钱包
    《区块链100问》第40集:全节点钱包和轻钱包
    《区块链100问》第41集:比特币可以用于支付吗?
    《区块链100问》第42集:区块链和比特币的关系
    《区块链100问》第43集:区块链技术发展史
    KindEditor使用
    Django之验证码
    Django之ModelForm
    Django之Form详解
  • 原文地址:https://www.cnblogs.com/hzcsz/p/7340469.html
Copyright © 2020-2023  润新知