用Java缩小一个股票图片总是失真,造成了好多锯齿状,文字不清晰,K图也断断续续的了。这里icech找到一个缩小图片不失真的代码,还是不错的,测试成功!针对GIF和JPG的图片效果不错。
代码如下:
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();
}
}
加载中,请稍候......