如何使用java swing无形地拍摄截图?

时间:2012-06-27 13:17:07

标签: java image swing screenshot

  

可能重复:
  Java Swing : Obtain Image of JFrame

我想看看jpanel的屏幕截图,我该怎么做。

我不知道,请告诉我。

1 个答案:

答案 0 :(得分:2)

我不确定'无形'是什么意思。检查一下是否有任何帮助。

为了将java.awt.Components中的快照保存为JPEG或任何其他格式文件,您只需:

  • 创建一个与Component相同尺寸的BufferedImage。
  • 将Component的内容绘制到BufferedImage中。
  • 使用JPEG包和标准FileOutputStream将BufferedImage保存到文件中。

void getSnapShot(JPanel panel ){  
       BufferedImage bufImg = new BufferedImage(panel.getSize().width, panel.getSize().height,BufferedImage.TYPE_INT_RGB);  
       panel.paint(bufImg.createGraphics());  
       File imageFile = new File("."+File.separator+snapshotLocation);  
    try{  
        imageFile.createNewFile();  
        ImageIO.write(bufImg, "jpeg", imageFile);  
    }catch(Exception ex){  
    }  
}