JAVA中通用JPEG缩影图Bean的制作与示例
说明:
前一段时间,看到网上一个网友贴出一个用 Java 跨平台的生成 Jpeg 图片缩影图的方法。最近整理了一下,形成了一个通用的类。并制作成一个 jar 包。以方便重用。并给出了使用示例。(作者: abnerchai ;联系: josserchai@yahoo.com )
一、源代码
1、JpegTool.java
// JpegTool.java
package com.abner.jpegtool;
import javax.imageio.ImageIO;
import javax.imageio.IIOException;
import java.awt.image.BufferedImage;
import java.awt.Image;
import java.io.File;
import java.awt.image.AffineTransformOp;
import java.awt.geom.AffineTransform;
import com.abner.jpegtool.JpegToolException;
import java.io.*;
/**
* 本类实现一个对 JPG/JPEG 图像文件进行缩影处理的方法
* 即给定一个 JPG 文件,可以生成一个该 JPG 文件的缩影图像文件 (JPG 格式 )
* 提供三种生成缩影图像的方法:
* 1 、设置缩影文件的宽度,根据设置的宽度和源图像文件的大小来确定新缩影文件的长度来生成缩影图像
* 2 、设置缩影文件的长度,根据设置的长度和源图像文件的大小来确定新缩影文件的宽度来生成缩影图像
* 3 、设置缩影文件相对于源图像文件的比例大小,根据源图像文件的大小及设置的比例来确定新缩影文件的大小来生成缩影图像
* 新生成的缩影图像可以比原图像大,这时即是放大源图像。
* @author abnerchai contact:josserchai@yahoo.com
* @version 1.0
* @exception JpegToolException
*/
public class JpegTool {
// 对象是否己经初始化
private boolean isInitFlag = false;
// 定义源图片所在的带路径目录的文件名
private String pic_big_pathfilename = null;
// 生成小图片的带存放路径目录的文件名
private String pic_small_pathfilename = null;
// 定义生成小图片的宽度和高度,给其一个就可以了
private int smallpicwidth = 0;
private int smallpicheight = 0;
// 定义小图片的相比原图片的比例
private double picscale = 0;
/**
* 构造函数
* @param 没有参数
*/
public JpegTool(){
this.isInitFlag = false;
}
/**
* 私有函数,重置所有的参数
* @param 没有参数
* @return 没有返回参数
*/
private void resetJpegToolParams(){
this.picscale = 0;
this.smallpicwidth = 0;
this.smallpicheight = 0;
this.isInitFlag = false;
}
/**
* @param scale 设置缩影图像相对于源图像的大小比例如 0.5
* @throws JpegToolException
*/
public void SetScale(double scale) throws JpegToolException {
if(scale<=0){
throw new JpegToolException(" 缩放比例不能为 0 和负数! ");
}
this.resetJpegToolParams();
this.picscale = scale;
this.isInitFlag = true;
}
/**
* @param smallpicwidth 设置缩影图像的宽度
* @throws JpegToolException
*/
public void SetSmallWidth(int smallpicwidth) throws JpegToolException {
if(smallpicwidth<=0){
throw new JpegToolException(" 缩影图片的宽度不能为 0 和负数! ");
}
this.resetJpegToolParams();
this.smallpicwidth = smallpicwidth;
this.isInitFlag = true;
}
/**
* @param smallpicheight 设置缩影图像的高度
* @throws JpegToolException
*/
public void SetSmallHeight(int smallpicheight) throws JpegToolException {
if(smallpicheight<=0){
throw new JpegToolException(" 缩影图片的高度不能为 0 和负数! ");






