java图片缩放工具类_Java图片工具类,完成图片的截取和任意缩放

packagecom.common.util;importjava.awt.Graphics2D;importjava.awt.Image;importjava.awt.RenderingHints;importjava.awt.geom.AffineTransform;importjava.awt.image.BufferedImage;importjava.awt.image.ColorModel;importjava.awt.image.WritableRaster;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjavax.imageio.ImageIO;importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;importorg.eclipse.swt.graphics.Rectangle;importcom.gif4j.GifDecoder;importcom.gif4j.GifEncoder;importcom.gif4j.GifImage;importcom.gif4j.GifTransformer;importcom.sun.image.codec.jpeg.JPEGCodec;importcom.sun.image.codec.jpeg.JPEGImageEncoder;/**图片工具类,完成图片的截取

*

*@authorBeau Virgill*/

public classIamgesResize

{private static Log log = LogFactory.getLog(IamgesResize.class);

BufferedImage bufImage;//原始图片

int width; //缩放的宽度

int height; //缩放的高度

publicIamgesResize()

{//TODO Auto-generated constructor stub

}public IamgesResize(String srcPath, int width, intheight)

{this.width =width;this.height =height;try{this.bufImage = ImageIO.read(newFile(srcPath));

}catch(Exception e)

{

e.printStackTrace();

}

}/**实现图像的等比缩放和缩放后的截取,如果高度的值和宽度一样,则缩放按设置的值缩放 (只控制宽度的大小,高度的值设置不生效(只有高度的值和宽度的一样才生效), 高度自动按比例缩放;如果缩放的图片小于你设置的值则保存原图大小)

*

*@paraminFilePath

* 要缩放图片文件的路径

*@paramoutFilePath

* 缩放后保存图片输出的路径

*@paramwidth

* 要截取宽度

*@paramhight

* 要截取的高度

*@throwsException*/

public static void zoomOutImage(String inFilePath, String outFilePath, int width, int hight, booleansmooth)throwsException

{int maxHight = 500; //设置最大的图片高度;

File file= newFile(inFilePath);

InputStream in= newFileInputStream(file);

File saveFile= newFile(outFilePath);

BufferedImage srcImage=ImageIO.read(in);

String gif= inFilePath.substring(inFilePath.lastIndexOf(".") + 1, inFilePath.length());if ((gif.equals("gif") || gif.equals("GIF")) && smooth == true) //gif动态图片的处理

{

IamgesResize.getGifImage(inFilePath, outFilePath, width, hight,true);

}else{//如果宽度和高度一样 或者图片的规格为 images_120 时不按等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值