天天看點

java圖檔壓縮失真_Java圖檔縮小後不失真代碼 | 學步園

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();

}

}