JAVA中图片文件的缩放

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

需要对图片进行处理,使之能够适当的显示在画面中。

找到一些资料后,处理也比较简单

代码:

/*

* AndyChen(andy.chen.sh@gmail.com)

*

**/

public static Icon getFixedBoundIcon(String filePath, int height, int width) throws Exception{

double Ratio=0.0; //缩放比例

File F = new File(filePath);

if (!F.isFile())

throw new Exception(F+" is not image file error in getFixedBoundIcon!");

Icon ret = new ImageIcon(filePath);

BufferedImage Bi = ImageIO.read(F);

if ((Bi.getHeight()height) || (Bi.getWidth()width)){

if (Bi.getHeight()Bi.getWidth()){

Ratio = (new Integer(height)).doubleValue() /Bi.getHeight();

} else {

Ratio = (new Integer(width)).doubleValue()/Bi.getWidth();

}

File ThF = new File(filePath+"_"+height +"_"+width);

Image Itemp = Bi.getScaledInstance (width,height,Bi.SCALE_SMOOTH);

AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance(Ratio, Ratio), null);

Itemp = op.filter(Bi, null);

try {

ImageIO.write((BufferedImage)Itemp, "jpg", ThF);

ret = new ImageIcon(ThF.getPath());

}catch (Exception ex) {

}

}

return ret;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航