用JAVA將大圖片文件轉換出小的縮略圖文件

- 中國WEB開發者網絡 (http://www.webasp.net)
-- 技術教程 (http://www.webasp.net/article/)
--- 用JAVA將大圖片文件轉換出小的縮略圖文件 (http://www.webasp.net/article/18/17030.htm)
-- 作者:未知
-- 發佈日期: 2005-03-16
用JAVA將大圖片文件轉換出小的縮略圖文件,要求使用JDK1.4,
大家可以將這段程序代碼改為JavaBean,以便在WEB環境中使用,
轉換出的小縮略圖效果不錯!

import javax.imageio.ImageIO;
import javax.imageio.IIOException;
import java.awt.image.BufferedImage;
import java.awt.Image;
import java.io.File;
import java.awt.image.AffineTransformOp;
import java.awt.geom.AffineTransform;

public class imgTest {

public static void main (String argv[]) {
try {
File fi = new File("c:/image2.jpg"); //大圖文件
File fo = new File("c:/imgTest.jpg"); //將要轉換出的小圖文件
int nw = 100;
AffineTransform transform = new AffineTransform();
BufferedImage bis = ImageIO.read(fi);
int w = bis.getWidth();
int h = bis.getHeight();
double scale = (double)w/h;
int nh = (nw*h)/w ;
double sx = (double)nw/w;
double sy = (double)nh/h;
transform.setToScale(sx,sy);
System.out.println(w + " " +h);
AffineTransformOp ato = new AffineTransformOp(transform,null);
BufferedImage bid = new BufferedImage(nw,nh,BufferedImage.TYPE_3BYTE_BGR);
ato.filter(bis,bid);
ImageIO.write(bid,"jpeg",fo);
} catch(Exception e) {
e.printStackTrace();
}
}

}

webasp.net