zoukankan      html  css  js  c++  java
  • java屏幕快照

    import java.awt.Dimension;
    import java.awt.Rectangle;
    import java.awt.Robot;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    import java.io.File;
    
    import javax.imageio.ImageIO;
    
    /*******************************************************************************
    * 该JavaBean可以直接在其他Java应用程序中调用,实现屏幕的"拍照" This JavaBean is used to snapshot the
    * GUI in a Java application! You can embeded it in to your java application
    * source code, and us it to snapshot the right GUI of the application
    * 
    * 
    ******************************************************************************/
    
    class GuiCamera
    {
        private String fileName; // 文件的前缀
    
        private String defaultName = "GuiCamera";
    
        static int serialNum = 0;
    
        private String imageFormat; // 图像文件的格式
    
        private String defaultImageFormat = "png";
    
         Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    
        /***********************************************************************
          * 默认的文件前缀为GuiCamera,文件格式为PNG格式 The default construct will use the
          * default Image file surname "GuiCamera", and default image format
          * "png"
          **********************************************************************/
        public GuiCamera()
         {
         fileName = defaultName;
         imageFormat = defaultImageFormat;
         }
    
        /***********************************************************************
          * @param s
          *                 the surname of the snapshot file
          * @param format
          *                 the format of the image file, it can be "jpg" or "png"
          *                 本构造支持JPG和PNG文件的存储
          **********************************************************************/
        public GuiCamera(String s, String format)
         {
         fileName = s;
         imageFormat = format;
         }
    
        /***********************************************************************
          * 对屏幕进行拍照 snapShot the Gui once
          **********************************************************************/
        public void snapShot()
         {
        try
         {
            // 拷贝屏幕到一个BufferedImage对象screenshot
             BufferedImage screenshot = (new Robot())
                 .createScreenCapture(new Rectangle(0, 0,
                     (int) d.getWidth(), (int) d.getHeight()));
             serialNum++;
            // 根据文件前缀变量和文件格式变量,自动生成文件名
             String name = fileName + String.valueOf(serialNum) + "."
                + imageFormat;
             File f = new File(name);
             System.out.print("Save File " + name);
            // 将screenshot对象写入图像文件
             ImageIO.write(screenshot, imageFormat, f);
             System.out.print("..Finished! ");
         } catch (Exception ex)
         {
             System.out.println(ex);
         }
         }
    
        public static void main(String[] args)
         {
         GuiCamera cam = new GuiCamera("Test", "png");
         cam.snapShot();
         }
    }
    




    ==============================================================================

    本博客已经废弃,不在维护。新博客地址:http://wenchao.ren


    我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
    们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
    实我是一个程序员

    ==============================================================================
  • 相关阅读:
    国防科学技术大学第忘记叫啥杯了
    2015 湘潭大学程序设计比赛(Internet)--D题-最小的数 2015-05-13 20:55 51人阅读 评论(0) 收藏
    ACM的探索之Everything is Generated In Equal Probability! 后序补充丫!
    线段树进阶之模板观见
    《地狱是上帝不在的地方》
    《E=MC2或一个思想的故事》
    画图软件gliffy
    线段树进阶之递归实现
    party lamps(dfs优化+规律枚举)
    滑雪(dfs+dp)
  • 原文地址:https://www.cnblogs.com/rollenholt/p/2070187.html
Copyright © 2011-2022 走看看