GraphicsMagick安装与IMG4图片压缩

GraphicsMagick安装与IMG4图片压缩


前言:直接使用纯java压缩图片的效果很差


1、linux安装GraphicsMagick(widows安装比较简单,下载安装后配置环境变量),安装步骤如下:

 

1.1、安装libpng和libjpeg,安装过程如下

因为是图片处理,所以需要系统中安装了libpng和libjpeg的开发包,否则的话不会安装这两种文件的支持,GraphicsMagick就没法读取jpeg和png图片。如果之前已安装过imageMagick和jmagick,且可以正常生成图片的则直接进入GraphicsMagick的安装。
注意:下面所有的安装步骤都需要在root用户下完成。
首先使用rpm命令查看libpng和libjpeg是否已安装
rpm –qa | grep libjpeg
rpm –qa | grep libpng

没有安装则用yum install命令安装

#yum install -y libpng-devel libjpeg-devel libtiff-devel jasper-devel freetype-deve

1.2、下载GraphicsMagick

GraphicsMagick下载地址:http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/

1.3、安装GraphicsMagick

解压GraphicsMagick-1.3.12.tar.gz包

# tar -xvzf GraphicsMagick-1.3.12.tar.gz
# cd GraphicsMagick-1.3.12

使用 configure 来进行自动的配置、build和安装

./configure  --prefix=/data/nfs/GraphicsMagick --enable-libtool-verbose --with-included-ltdl --enable-shared --disable-static --with-modules --with-frozenpaths --without-perl --without-magick-plus-plus --with-quantum-depth=8 --enable-symbol-prefix

接下来就是安装

# make
# make install

1.4、配置环境变量

# vi /etc/profile

在/etc/profile文件的最后添加如下配置:

第一段是java的环境变量,第二段才是GraphicsMagick的环境变量,个人装的版本是1.3.12

export JAVA_HOME=/usr/java/java
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export JAVA_HOME PATH CLASSPATH

export GMAGICK_HOME="/usr/local/GraphicsMagick-1.3.12"
export PATH="$GMAGICK_HOME/bin:$PATH"
LD_LIBRARY_PATH=$GMAGICK_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

tips:安装完成后是要配置环境变量的,配置成功后可以直接运行gm命令

1.5、测试GraphicsMagick是否安装成功

使用命令查看GraphicsMagick所支持的图片格式:
# gm convert -list formats
如果列表中如果显示PNG、JPEG、GIF等则表示已支持图片转换。

测试安装是否正常,使用如下命令:
# gm convert -resize 100x80^ -gravity Center -crop 100x80+0+0 sample.jpg thumb.jpg
命令说明:gravity 表示中心坐标,可选值为 Center , NorthWest(左上), NorthEast(右上), SouthWest(左下), SouthEast(右下) ,由Center参数即由中心开始向两边裁剪,+指定x轴向y轴向的偏移量。sample.jpg/png为要裁剪的图片且必须存在,thumb.jpg/png为裁剪后生成的新图片,可以拷贝生成的文件到本地后查看,能正常显示,则说明所有安装均正常。

1.6、如果安装时使用root用户安装,使用别的用户时要先进行授权

给boat用户授权

# chown -R boat:users /usr/local/GraphicsMagick-1.3.12


2、核心代码(安装完GraphicsMagick就可以玩了,以下为java代码)

先引入img4java的包

<dependency>
    <groupId>org.im4java</groupId>
    <artifactId>im4java</artifactId>
    <version>1.4.0</version>
</dependency>


public class ImageManage {

	public void zoomImage(Integer width, Integer height, String srcPath, String newPath) throws Exception {
		IMOperation op = new IMOperation();
		op.addImage(srcPath);
		if (width == null) {// 根据高度缩放图片
			op.resize(null, height);
		} else if (height == null) {// 根据宽度缩放图片
			op.resize(width, null);
		} else {
			op.resize(width, height);
		}
		op.quality(85d);
		op.addImage(newPath);
		// 这里不加参数或者参数为false是使用ImageMagick,true是使用GraphicsMagick
		ConvertCmd convert = new ConvertCmd(true);

		// linux下不要设置此值,不然会报错
		// convert.setSearchPath(File.separator + "mnt" + File.separator +
		// "ftpupload" + File.separator + "benhao" + File.separator +
		// "GraphicsMagick-1.3.21");
		convert.run(op);
	}

	public static void main(String[] args) {
		File file = new File("C://Users//iteas1//Desktop//2.jpg");
		ImageManage imageManage = new ImageManage();
		try {
			imageManage.writeImage(file, "2.jpg");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值