首页 > 代码库 > ImageMagick +Jmagick安装

ImageMagick +Jmagick安装



一、前提介绍

  ImageMagick是用C语言开发图片处理程序。可以对图片进行改变大小、旋转、锐化、减色或增加特效等操作。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。ImageMagick 的官网是:http://www.imagemagick.org/script/index.php

       由于我们是java项目,直接使用java通过JNI技术调用ImageMagick的C语言接口是不行的。因为ImageMagick开发时没有使用java JNI生成的头文件。可以使用jmagick解决,jmagick是由c语言开发的,开发时使用了java JNI生成的头文件,所以java可以通过JNI技术调用jmagick。jmagick再调用ImageMagick。这们我们处理图片使用的是jmagick暴露的java接口。

       JMagick不适合在Web应用中使用,请参看:JMagick的JNI-hazard问题 

       也可以使用JNA来调用ImageMagick,JNA全称是Java Native Access,JNA是在JNI的基础上完善的,方便的我们开发的。JNA项目主页是https://github.com/twall/jna 。使用JNA来调用ImageMagick就须要直接操作ImageMagick提供的C接口(API)。


二、安装支持库

       Linux服务器如果没有安装Jpeg v6b、libPng、FreeType库,要在安装imagemagick之前先装好,否则imagemagick没法读取jpeg和png图片,字体文件也读不了.

      yum remove ImageMagick

      yum install libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel libungif libungif-devel freetype zlib -y


三、在Linux上用源码安装ImageMagick与jmagick

    安装ImageMagick

    下载地址:ftp://gd.tuwien.ac.at/pub/graphics/ImageMagick/ImageMagick-6.7.5-0.tar.gz

     tar xzf ImageMagick-6.7.5-0.tar.gz 
     cd ImageMagick-6.7.5-0
     ./configure
     make
     make install
     ldconfig /usr/local/lib

     /usr/local/bin/convert logo: logo.gif 

    

     安装jmagick

     yum install git
     git clone https://github.com/techblue/jmagick

     cd jmagick

    whereis java

     ./configure --prefix=/opt/JMagick --with-java-home=/opt/jdk1.7.0_71/ --with-magick-inc-      dir=/opt/ImageMagick-6.7.5-0/include/ImageMagick

     make
     make install

     convert --version


四、最后

1、编辑/etc/profile里面的PATH环境变量,在最后面加入:
     export PATH=/usr/local/ImageMagick/bin:$PATH
     LD_LIBRARY_PATH=/usr/local/lib
     export LD_LIBRARY_PATH

2、编辑/etc/ld.so.conf:
     找到:include ld.so.conf.d/*.conf
  修改为:
     include ld.so.conf.d/*.conf /usr/local/ImageMagick/lib
     也就是添加了:"空格" + "/usr/local/ImageMagick/lib"
     执行命令:
     ldconfig

 3、配置完成之后,进入/root/Jmagic/lib目录,
     共有三个文件:
     jmagick-6.7.7.jar 

     libJMagick-6.7.7.so

     libJMagick.so -> ./libJMagick-6.7.7.so

     并把so文件复制 到你Jdk安装目录的 jre/lib/i386(64位:amd64文件夹)文件夹下。
     cp libJMagick-6.7.7.so /opt/jdk1.7.0_71/jre/lib/amd64
     cd /opt/jdk1.7.0_71/jre/lib/amd64

     mv libJMagick-6.7.7.so  libJMagick.so
     这样就完成了对ImageMagick的安装,接下来我们安装其提供的Java的应用程序接口JMagick。
 将/usr/local/Jmagic/lib目录下的jar文件,拷贝到工程的WEB-INFO/lib或者resin/lib下

     基本上完成了

      其实这个要java程序调用的时候才知道结果。


      将/usr/local/Jmagic/lib目录下的jar文件,拷贝到工程的WEB-INFO/lib或者resin/lib下

这个应该是再开发包的webinfo下的lib下

      安装成功后,在/root/jmagick-6.7.7/lib/有一个jmagick-6.7.7.jar文件,在你的java项目中就使用这个jar文件处理图片,需要将jmagick-6.7.7.jar文件挪到TOMCAT的BIN目录,具体命令如下:
       # mv *.jar /usr/local/tomcat/apache-tomcat-6.0.35/bin


五、测试安装是否正常

     进入ImageMagick安装目录,cd /opt/mageMagick/bin

     convert logo: logo.png 
     convert logo: logo.gif 
     convert logo: logo.jpg
     convert logo: logo.jpeg

     # cd ImageMagick-6.7.5-0/
      ls
      etc  include  lib  logo.gif  share

以拷贝生成的文件logo.gif 本地后查看图,则说明所有安装均正常。


开始测试

.测试命令行使用方法:
 convert -resize 100x200 22.jpg(图片路径)   11.jpg(缩放后存放路径)   图片按比例缩放
 convert -resize 100x200\! 22.jpg(图片路径)   11.jpg(缩放后存放路径)   强制按给定的宽高缩放
 convert -crop   100(长)x200(高)+10(x坐标)+10(y坐标)   22.jpg(图片路径)   11.jpg(缩放后存放路径)   裁剪图片




ImageMagick +Jmagick安装