|
|
JAVA中图片文件的缩放 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
需要对图片进行处理,使之能够适当的显示在画面中。
找到一些资料后,处理也比较简单
代码:
/*
* AndyChen([email protected])
*
**/
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;
}

|
|
相关文章:相关软件: |
|