`
zhuixinjian
  • 浏览: 66732 次
  • 性别: Icon_minigender_1
  • 来自: 湖北人在北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

一个对屏幕截图的程序

    博客分类:
  • Code
阅读更多
java 代码
 
  1. import java.awt.Dimension;    
  2. import java.awt.Rectangle;    
  3. import java.awt.Robot;    
  4. import java.awt.Toolkit;    
  5. import java.awt.image.BufferedImage;    
  6. import java.io.File;    
  7.   
  8. import javax.imageio.ImageIO;    
  9.   
  10. /*******************************************************************   
  11.  * 该JavaBean可以直接在其他Java应用程序中调用,实现屏幕的"拍照"   
  12.  * This JavaBean is used to snapshot the GUI in a    
  13.  * Java application! You can embeded   
  14.  * it in to your java application source code, and us   
  15.  * it to snapshot the right GUI of the application   
  16.  * @see javax.ImageIO   
  17.  * @author   
  18.  * @version 1.0   
  19.  *   
  20.  *****************************************************/    
  21.   
  22. public class GuiCamera    
  23. {      
  24.     private String fileName; //文件的前缀    
  25.     private String defaultName = "GuiCamera";    
  26.     static int serialNum=0;    
  27.     private String imageFormat; //图像文件的格式    
  28.     private String defaultImageFormat="png";    
  29.     Dimension d = Toolkit.getDefaultToolkit().getScreenSize();    
  30.   
  31.     /****************************************************************   
  32.      * 默认的文件前缀为GuiCamera,文件格式为PNG格式   
  33.      * The default construct will use the default    
  34.      * Image file surname "GuiCamera",    
  35.      * and default image format "png"   
  36.      ****************************************************************/    
  37.     public GuiCamera() {    
  38.       fileName = defaultName;    
  39.       imageFormat=defaultImageFormat;    
  40.         
  41.     }    
  42.   
  43.     /****************************************************************   
  44.      * @param s the surname of the snapshot file   
  45.      * @param format the format of the  image file,    
  46.      * it can be "jpg" or "png"   
  47.      * 本构造支持JPG和PNG文件的存储   
  48.      ****************************************************************/    
  49.     public GuiCamera(String s,String format) {    
  50.         
  51.       fileName = s;    
  52.       imageFormat=format;    
  53.     }    
  54.         
  55.     /****************************************************************   
  56.      * 对屏幕进行拍照   
  57.      * snapShot the Gui once   
  58.      ****************************************************************/    
  59.     public void snapShot() {    
  60.         
  61.       try {    
  62.       //拷贝屏幕到一个BufferedImage对象screenshot    
  63.         BufferedImage screenshot = (new Robot()).createScreenCapture(new    
  64.             Rectangle(00, (int) d.getWidth(), (int) d.getHeight()));    
  65.         serialNum++;    
  66.         //根据文件前缀变量和文件格式变量,自动生成文件名    
  67.         String name=fileName+String.valueOf(serialNum)+"."+imageFormat;    
  68.         File f = new File(name);    
  69.         System.out.print("Save File "+name);    
  70.       //将screenshot对象写入图像文件    
  71.         ImageIO.write(screenshot, imageFormat, f);    
  72.         System.out.print("..Finished!\n");    
  73.       }    
  74.       catch (Exception ex) {    
  75.         System.out.println(ex);    
  76.       }    
  77.     }    
  78.   
  79.     public static void main(String[] args)    
  80.     {    
  81.         GuiCamera cam= new GuiCamera("d:\\Hello""png");//    
  82.   
  83.         cam.snapShot();    
  84.     }    
  85. }  
分享到:
评论
1 楼 vb2005xu 2009-01-14  
我参考你这个 做了些扩展 , 呵呵

http://vb2005xu.iteye.com/blog/316320

相关推荐

Global site tag (gtag.js) - Google Analytics