ImageMagick安装配置 for java项目 (使用jmagick) 
目录:
一、ImageMagick介绍
二、在Linux上用源码安装ImageMagick与jmagick
三、在Linux上使用yum安装ImageMagick
四、在windows上安装ImageMagick与jmagick
五、常见问题以及解决方法
转载请注明出处:elf8848.iteye/blog/455675
 
 
一、ImageMagick介绍
ImageMagick是用C语言开发图片处理程序。可以对图片进行改变大小、旋转、锐化、减或增加特效等操作。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。
ImageMagick 的是:/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项目主页是github/twall/jna 。使用JNA来调用ImageMagick就须要直接操作ImageMagick提供的C接口(API)。
 
二、在Linux上用源码安装ImageMagickjmagick
前题:
Linux服务器如果没有安装Jpeg v6b、libPng、FreeType库,要在安装imagemagick之前先装好,否则imagemagick没法读取jpeg和png图片,字体文件也读不了.
----freetype-2.4.  字体引擎,生产高质量的字形影像输出,(例如,彩文本渲染,“挖空”,等等)。
----zlib-1.2.  是zlib通用压缩库,图形格式png使用zlib中的deflate压缩算法。
----libpng-1.2.  支持PNG  或 libpng-1.4.版本也可, 目前最新版本是1.5
----jpegsrc.  支持JPEG v1 格式    或jpegsrc.版本也可
 
以下可选:
-
---jasper-1.900.1.zip  支持JPEG2000(文件扩展名是 .jp2 .j2c)
----tiff-3.8.  支持tif文件  这个用不到,不要安装了
 
 
安装jpeg:
下载地址:/files/
/files/jpegsrc.
ftp:///pub/GraphicsMagick/delegates
 
tar -zvxf jpegsrc.
cd jpeg-6b/
./configure --enable-shared --enable-static ; make ; make install
 
如果你选择默认安装,可能很顺利,指定路径后,请先创建以下文件夹
错误提示:...... /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h
/usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/include/jconfig.h’: 没有那个文件或目录
make: *** [install-headers] Error 1
# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/include
# mkdir /usr/local/jpeg6/lib
# make install-lib
# make install
 
安装zlib:
下载地址:www.zlib/
ftp:///pub/GraphicsMagick/delegates
 
是zlib通用压缩库,图形格式png使用zlib中的deflate压缩算法
tar -xzvf zlib-1.2.
cd zlib-1.2.5
./configure
make
make install
 
 
安装png:
下载地址:sourceforge/projects/libpng/
ftp:///pub/GraphicsMagick/delegates
/pub/png/pngcode.html

tar -xzvf libpng-1.2.
cd libpng-1.2.12
cp scripts/makefile.std makefile
make
make install
 
安装freetype
下载地址:/
ftp:///pub/GraphicsMagick/delegates
 
./configure
make
make install
 
安装Tiff
下载地址:ftp:///pub/GraphicsMagick/delegates
ftp:///libtiff/
java安装完整教程 
安装后才能处理TIFF格式图片
tar -xzvf tiff-3.8. 
cd tiff-3.8.0 
.
/configure 
make 
make install 
我安装完成后,在命令行处理图片,报错:libtiff.so.3: cannot open shared object file: No such file or directory
这个模块也用不到, 就不要安装了. 
 
安装jasper:
下载地址:uvic.ca/~mdadams/jasper/
安装后才能处理JPEG2000格式图片(文件扩展名是 .jp2 .j2c)
unzip jasper-1.900.1.zip 
cd jasper-1.900.1 
CFLAGS=-fPIC  ./configure 
make CFLAGS=-fPIC 
make  CFLAGS=-fPIC install   
 
正题:
我们使用jmagick,在ImageMagick首页左侧菜单的Program Interfaces菜单中到jmagick。进入jmagick的主页。
我们使用6.4版本,下载地下是:
/6.4.0/
我们下载:
ImageMagick-6.4.
jmagick-6.4.
文档在:
/jmagick-doc/
-----------------------------------------------------------
解压ImageMagick,查看ImageMagick的安装说明文件就知道怎么安装ImageMagick了。
解压jmagick,查看jmagick的安装说明文件INSTALL就知道怎么安装jmagick了。
-----------------------------------------------------------
安装ImageMagick
修改文件执行权限:chmod -R 755 文件名
tar zvxf ImageMagick-6.4.
cd ImageMagick-6.4.0-0
./configure --prefix=/opt360/ImageMagick-6.4.0 --with-quantum-depth=8  --enable-share --enable-static

make
make install
--卸载:make uninstall
 
 
Currently supported arguments are 8, 16, or 32. We recommend the default of 16 because some image formats support 16 bits-per-pixel. However, this option is important in determining the overall run-time performance of ImageMagick.
 
关于Q8,Q16,Q32的说明:
支持的参数有3种,分别是 8, 16, or 32。默认值是16。
Q8表示: 8-bits per pixel quantum
Q16表示:16-bits per pixel quantum
Q32表示:32-bits per pixel quantum
大多数电脑显示器使用8-bit per pixel quantums。ImageMagick官方推荐使用16 ,因为一
些图片格式支持 16 bits-per-pixel。
使用16-bit per pixel quantums在处理图片时比8-bit慢15%至50%,并须要更多的内存。
处理一张1024x768像素的图片8-bit要使用3.6M内存,16-bit要使用7.2M内存。计算方法是: (5 * Quantum Depth * Rows * Columns) / 8
 
 
一个像素所能表达的颜数量取决于像素深度(BPP)。
常见的取值有 :
8 bpp [2的8次方=256;(256)];
16 bpp [2的16次方=65536; (65,536,称为高彩)];
24 bpp [2的24次方=16777216; (16,777,216,称为真彩)];
48 bpp [2的48次方=281474976710656;(281,474,976,710,656,用于很多专业的扫描仪)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。