http://www.javaworld.com/javaworld/javatips/jw-javatip32.html

解决方案 »

  1.   

    用JAVA将大图片文件转换出小的缩略图文件,要求使用JDK1.4import 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();
    }
    }}
      

  2.   

    如果要操作的是bmp文件,需要用jimi包处理,或者用java1.5
      

  3.   

    拜托!这个是在后台运行的,根本没有窗口,不能用java.awt.*, javax.swing.*