Java圖片縮小后不失真的代碼(縮略圖)

2010-08-28 10:55:03來源:西部e網(wǎng)作者:

用Java縮小一個(gè)股票圖片總是失真,造成了好多鋸齒狀,文字不清晰,K圖也斷斷續(xù)續(xù)的了。這里icech找到一個(gè)縮小圖片不失真的代碼,還是不錯(cuò)的,測(cè)試成功!針對(duì)GIF和JPG的圖片效果不錯(cuò)。

代碼如下:

public static void reduceImg(String imgsrc, String imgdist, int widthdist,  
        int heightdist) {  
    try {  
        File srcfile = new File(imgsrc);  
        if (!srcfile.exists()) {  
            return;  
        }  
        Image src = javax.imageio.ImageIO.read(srcfile);  
 
        BufferedImage tag= new BufferedImage((int) widthdist, (int) heightdist,  
                BufferedImage.TYPE_INT_RGB);  
 
        tag.getGraphics().drawImage(src.getScaledInstance(widthdist, heightdist,  Image.SCALE_SMOOTH), 0, 0,  null);  
///         tag.getGraphics().drawImage(src.getScaledInstance(widthdist, heightdist,  Image.SCALE_AREA_AVERAGING), 0, 0,  null);  
          
        FileOutputStream out = new FileOutputStream(imgdist);  
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);  
        encoder.encode(tag);  
        out.close();  
 
    } catch (IOException ex) {  
        ex.printStackTrace();  
    }  

關(guān)鍵詞:Java

贊助商鏈接: