ImageMagick jmagick 安装
在安装ImageMagick之前,请检查下面包已经安装
tiff-3.9.5.tar.gz (rpm -qa|grep libtiff检查是否已经安装)
libpng-1.2.46.tar.gz (rpm -qa|grep libpng检查是否已经安装)
jpegsrc.v6b.tar.gz (rpm -qa|grep libjpeg检查是否已经安装)
freetype-2.3.9.tar.bz2 (rpm -qa|grep freetype检查是否已经安装)
libjpeg-devel
下载地址 http://pkgs.org/download/libjpeg-devel
----tiff-3.8.2.tar.gz 支持tif文件 http://www.linuxfromscratch.org/blfs/view/6.3/general/libtiff.html
----jpegsrc.v6b.tar.gz 支持jpg 或jpegsrc.v8b.tar.gz版本也可 http://www.ijg.org/files/jpegsrc.v6b.tar.gz
----zlib-1.2.6.tar.gz 支持PNG24
----libpng-1.4.10.tar.gz 支持PNG 或 libpng-1.4.3.tar.gz版本也可 http://sourceforge.net/projects/libpng/
----jasper-1.900.1.zip 支持JPEG2000
----freetype-2.4.4.tar.gz 支持字体
wget http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz,
http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz
(1)安装tiff-3.8.2
tar –zxvf tiff-3.8.2.tar.gz
cd tiff-3.8.2
./configure
make
make install
make check
2)安装jpegsrc.v6b.tar.gz
tar -zxvf jpegsrc.v6b.tar.gz
./configure
make && make install
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make
# make install
3)安装zlib-1.2.6.tar.gz
tar -xzvf zlib-1.2.5.tar.gz
cd zlib-1.2.5
./configure
make
make install
(4)安装libpng-1.4.10.tar.gz
tar -zxvf libpng-1.4.10.tar.gz
cd libpng-1.4.10
./configure
make
make install
makeckeck
5)安装jasper包,安装后才能处理JPEG2000格式图片
unzip jasper-1.900.1.zip
cd jasper-1.900.1
CFLAGS=-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install
6)安装freetype
tar -zxvf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure
make
make install
7)安装ImageMagick
tar -zxvf ImageMagick.tar.gz
cd ImageMagick-6.7.6-1
./configure -prefix=/usr/local/ImageMagick
make
make install
make check (会报错,不用理会)
测试
convert -resize 100x100 111.jpg 11.jpg
convert -resize 100x200 22.jpg(图片路径) 11.jpg(缩放后存放路径) 图片按比例缩放
8)安装Jmagick
tar -zxvf JMagick-6.2.6-0.tar.gz
cd JMagick-6.2.6-0
./configure -prefix=/usr/local/Jmagick -with-magick-inc-dir=/usr/local/ImageMagick/include
如果出现错误:Unable to find ImageMagick header files,使用下面语句:
./configure -prefix=/usr/local/Jmagick -with-magick-inc-dir=/usr/local/ImageMagick/include/ImageMagick
6.2.4版本的include文件夹和6.4.0的文件夹路径不同造成的,大家安装的时候可以先检查一下include路径下的东西再进行该步骤。
make
make install
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin:/usr/local/ImageMagick/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Jmagick/lib:/usr/local/ImageMagick/lib
export CLASSPATH=$CLASSPATH:/usr/local/Jmagick/lib
//测试类
/usr/local/Jmagick/lib jar 放入 测试test文件夹
java -Djava.ext.dirs=./test/ test.JmagickTest 111.jpg 111_s.jpg
测试类代码
package test;
import java.awt.Rectangle;
import java.io.File;
import magick.ImageInfo;
import magick.MagickException;
import magick.MagickImage;
public class JmagickTest {
static {
System.setProperty("jmagick.systemclassloader", "no");
}
public static void main(String[] args){
if(null==args||args.length<2){
System.out.println("please input srcImage destImage");
}
System.out.println(System.getProperty("java.library.path"));
System.out.println("srcImage:"+args[0]);
System.out.println("destImage:"+args[1]);
try {
createThumbnail(args[0],args[1],100,100);
System.out.println("compled...");
} catch (MagickException e) {
e.printStackTrace();
}
}
/**
* 图片缩放
* */
public static void createThumbnail(String srcImage, String destImage,
int width, int height) throws MagickException {
ImageInfo info = null;
MagickImage image = null;
MagickImage scaled = null;
try {
String file = srcImage;
File f = new File(file);
System.out.println("--f.exists()-->"+f.exists());
info = new ImageInfo(file);
image = new MagickImage(info);
scaled = image.scaleImage(width, height);
String slogoName = destImage;
scaled.setFileName(slogoName);
scaled.writeImage(info);
} finally {
if (scaled != null) {
scaled.destroyImages();
}
}
}
}
http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz
http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz
http://prdownloads.sourceforge.net/libpng/libpng-1.6.10.tar.gz?download
libjpeg-devel
下载地址 http://pkgs.org/download/libjpeg-devel
./configure --prefix=/usr/local/jmagick --with-java-home=/usr/local/jdk1.6.0_31 --enable-diagnostic --with-magick-home=/usr/local/ImageMagick --with-magick-inc-dir=/usr/local/ImageMagick/include/ImageMagick-6
http://hi.baidu.com/thinkingjava/item/55ead6b5e64ac477254b09a0
http://blog.csdn.net/shixing_11/article/details/6938396
http://elf8848.iteye.com/blog/455675
http://hi.baidu.com/thinkingjava/item/55ead6b5e64ac477254b09a0
1. 下载ImageMagick-6.4.0-0.tar.gz from
wget http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz,
2. tar -xzvf ImageMagick-6.4.0-0.tar.gz
3. mkdir /usr/local/imagemagick
4. cd ImageMagick-6.4.0-0
5. ./configure --prefix=/usr/local/imagemagick/
6. 先make, 然后make install, 再vi /etc/profile, 在最后添加: export $PATH=$PATH:/usr/local/imagemagick/bin
以上安装好之后使用以下方法校验是否安装成功:check: convert 1.jpg -resize 50% 11.jpg
(三)安装JMagick,最好保证ImageMagick和JMagic版本一致
1. 下载jmagick from http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz
2. tar -xzvf jmagick-6.4.0-src.tar.gz
3. cd jmagick-6.4.0-src
4. ./configure
5. make, make install
6. cd lib
#so文件必须放在/usr/lib/ ,否则 java找不到.so库文件
7. cp *.so /usr/lib/ (我试过,只放一个so,貌似也可以,但是只是简单测试,可能复杂的需要全面)
#把so库文件路径加载到配置文件
8. vi /etc/ld.so.conf, add: /usr/local/imagemagick/lib
9. ldconfig #加载至库文件缓存
(四)测试代码:
package com.xingleilee;
import java.awt.Dimension;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import magick.ImageInfo;
import magick.MagickImage;
public class Test {
static {
// 不能漏掉这个,不然jmagick.jar的路径找不到
System.setProperty("jmagick.systemclassloader", "no");
}
/**
* 压缩图片
*
* @param filePath
* 源文件路径
* @param toPath
* 缩略图路径
*/
/**
* @param filePath
* @param toPath
* @throws Exception
*/
public static void createThumbnail(String filePath, String toPath)
throws Exception {
ImageInfo info = null;
MagickImage image = null;
Dimension imageDim = null;
MagickImage scaled = null;
try {
info = new ImageInfo(filePath);
image = new MagickImage(info);
imageDim = image.getDimension();
int wideth = imageDim.width;
int height = imageDim.height;
height = height/2;
wideth = wideth/2;
scaled = image.scaleImage(wideth, height);// 小图片文件的大小.
scaled.setFileName(toPath);
scaled.writeImage(info);
} catch (Exception e) {
System.out.println(filePath + "压缩 excpeiton");
e.printStackTrace();
} finally {
if (image != null) {
image.destroyImages();
}
if (scaled != null) {
scaled.destroyImages();
}
}
}
/**
* @param args
*/
public static void main(String[] args) throws Exception {
String srcFile1 = "/home/xingleilee/Downloads/images/1.jpg";
String destFile1 = "/home/xingleilee/Downloads/images/";
String destFile11 = "/home/xingleilee/Downloads/images_dest/";
//start:2012-06-17 22:49:18
//end:2012-06-17 22:53:38
System.out.println("start:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()));
for (int i = 0; i < 1000; i++) {
createThumbnail(destFile1 + i + "_dest.jpg", destFile11 + i + "_dest.jpg");
}
System.out.println("end:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()));
}
}
ImageMagick jmagick 安装的更多相关文章
- 转:ImageMagick +Jmagick安装
原文来自于: 目录 一.ImageMagick介绍 二.安装支持库 三.在Linux上用源码编译安装ImageMagick与Jmagick 四.在Linux上使用yum安装ImageMagick与Jm ...
- 图片处理服务 ImageMagick 的安装和使用
简介 该文章使用目前官方最新版本7.0.8,这里只记录下Windows系统下的安装. 官方网站:http://www.imagemagick.org/script/index.php. ImageMa ...
- php imagemagick库安装使用
imagemagick介绍: ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. ...
- ImageMagick的安装及使用
近期在使用ImageMagick处理酒店团购图片,写篇博客小小的总结下它的安装及使用方法.ImageMagick是一套功能强大且免费的图片处理开发包,能够用来读,写和处理多种格式的图片文件,总之非常强 ...
- ImageMagick 的安装及使用
一.什么是Imagemagick? ImageMagick是一款免费开源的图片编辑软件.既可以通过命令行使用,也可以通过C/C++.Perl.Java.PHP.Python或Ruby调用库编程来完成. ...
- linux安装imagemagick,centos安装imagemagick方法
1.安装文件格式支持库 yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype- ...
- java图片处理工具之-ImageMagick+jmagick(二)
简单的图片处理測试类: public class ImageUtil { static{ System.setProperty("jmagick.systemclassl ...
- Linux安装ImageMagick与JMagick完成过程及配置
原文地址:http://www.iitshare.com/linux-install-imagemagick-jmagick.html 一.安装背景 最近在服务器上部署了HapiCMS的产品,因为其对 ...
- Linux端图形处理工具ImageMagick在Centos上的安装
一.安装背景程序要用到用户上传图片,编辑的功能,能进行旋转,裁剪,缩放等. 二.ImageMagick介绍 ImageMagick是用C语言开发图片处理程序.可以对图片进行改变大小.旋转.锐化.减色或 ...
随机推荐
- DP:Islands and Bridges(POJ 2288)
2015-09-21 造桥基建工程 题目大意,就是有n座岛和k座桥,要你找一条哈密顿圈(找完所有的岛,并且每个岛只经过一次),当经过一座岛就加上岛的价值,如果两岛联通,则加上两座岛的价值之积,如果三座 ...
- 神经网络(luogu 1038 答案错误,出题人语体教)
题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别.函数逼近及贷款风险评估等诸多领域有广泛的应用.对神经网络的研究一直是当今 ...
- 关押罪犯(codevs 1069)
题目描述 Description S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极 不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用“怨 ...
- C++中的static数据成员与static成员函数
本文要点: 1.static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联! aka:每个static数据成 ...
- Hadoop 2.x HDFS新特性
Hadoop 2.x HDFS新特性 1.HDFS联邦 2. HDFS HA(要用到zookeeper等,留在后面再讲) 3.HDFS快照 回顾: HDFS两层模型 Namespa ...
- Hadoop配置文件
部分内容参考:http://www.linuxqq.net/archives/964.html http://slaytanic.blog.51cto.com/2057708/1100974/ ht ...
- 【转】什麼是 Team Explorer Everywhere 2010 ?TFS 專用的 Eclipse 整合套件的安裝與設定
前言- 大家都知道 版本管控是一件很重要的事情!而且也知道分別有 VSS , SVN , TFS 等- 多數人都會覺得, .NET 的開發工具要用 VSS . TFS .SVN 而 Java 的 Ec ...
- List、Map、Set
这样的题属于随意发挥题:这样的题比较考水平,两个方面的水平:一是要真正明白这些内容,二是要有较强的总结和表述能力.如果你明白,但表述不清楚,在别人那里则等同于不明白. 首先,List与Set具有相似性 ...
- oracle 10g 学习之基本 SQL SELECT 语句(4)
本篇文章中,对于有的和MSSQL Server相同的语法我就没有再写了,这里我只写Oracle和MSSQL Server有点不同的 定义空值 l 空值是无效的,未指定的,未知的或不可预知的值 l ...
- 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
解决办法:在项目属性里设置“生成”=>“目标平台”为x86而不是默认的ANY CPU.