将一个Componet保存为Image

来源:互联网 发布:mysql fabric 编辑:程序博客网 时间:2024/05/30 20:08

以下两种方式可以将任意一个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"));  

原创粉丝点击