您的位置:首页 > 编程语言 > Java开发

java中对图片按比例缩放

2009-02-17 17:23 375 查看
需要对图片进行处理,使之能够适当的显示在画面中。找到一些资料后,处理也比较简单代码:

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: