将一个Componet保存为Image

以下两种方式可以将任意一个Swing组件保存为图片文件

第一种方式: 

Component   component   =   panel;  
            BufferedImage   bi   =(BufferedImage)component.createImage(component.getWidth(),component.getHeight());  
            component.paint(bi.getGraphics());    
   
            BufferedOutputStream   out   =new   BufferedOutputStream(new   FileOutputStream("c:/test1.jpg"));  
            JPEGImageEncoder   encoder   =     JPEGCodec.createJPEGEncoder(out);  
            JPEGEncodeParam   param   =   encoder.getDefaultJPEGEncodeParam(bi);  
            param.setQuality(1.0f,   false);  
            encoder.setJPEGEncodeParam(param);  
            encoder.encode(bi);  
            out.flush();  
            out.close();   

第二种方式:   
  Component   c   =   panel;  
  BufferedImage   bi   =(BufferedImage)c.createImage(c.getWidth(),c.getHeight());  
  c.paint(bi.getGraphics());    
  javax.imageio.ImageIO.write(bi,"jpg",new   File("c:/x1.jpg"));  

你可能感兴趣的:(c,swing,image,File,BI)