在jdk的文档中找一下有关jpeg的包,做过,但忘了^_^

解决方案 »

  1.   

    转:这是CSDN上一个兄弟的代码。图象缩小一半。
    public void paint(Graphics g)
    {// g.clearRect(0,0,1024,768);
    bufferedGraphics = (Graphics2D)g;
    int height=imgSource.getIconHeight();
    int width=imgSource.getIconWidth();
    Image ia=imgSource.getImage();          
    Image ib=ia.getScaledInstance( (int)( width*0.5), (int)( height*0.5 ) ,0);
    ImageIcon ica=new ImageIcon(ib);
    bufferedGraphics.drawImage(ica.getImage(), 10, 65, ica.getIconWidth(),ica.getIconHeight(), this); 
               }
      

  2.   

    import java.io.*;
    import java.awt.*;
    import java.awt.image.*;
    import com.sun.image.codec.jpeg.*;public class ResizeImage {
        public static void main(String[] args) {
            try {
                //原始图片地址
                String imageFile = "H:/works/JAVA/我的方法类包/其他/jpg缩略图/1.jpg";
                InputStream imageIn = new FileInputStream(new File(imageFile));
                JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn);
                BufferedImage im = decoder.decodeAsBufferedImage();
                
              
                int imh = im.getHeight(null);
                int imw = im.getWidth(null);
                int multiple = 3;  //缩放比例
                BufferedImage imout = new BufferedImage(imw / multiple, imh / multiple, 1);
                Graphics g = imout.getGraphics();
                g.drawImage(im, 0, 0, imw / multiple, imh / multiple, null);
                
                
                //目标图片地址
                FileOutputStream output = new FileOutputStream("H:/works/JAVA/我的方法类包/其他/jpg缩略图/2.jpg");
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);
                encoder.encode(imout);            imageIn.close();
                output.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }