package image;

import java.awt.Desktop;
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 java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO; public class CaptureScreen { public static void captureScreen(String fileName, String folder) throws Exception { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
// 截图保存的路径
File screenFile = new File(fileName);
// 如果路径不存在,则创建
if (!screenFile.getParentFile().exists()) {
screenFile.getParentFile().mkdirs();
}
//判断文件是否存在,不存在就创建文件
if(!screenFile.exists()&& !screenFile .isDirectory()) {
screenFile.mkdir();
} File f = new File(screenFile, folder);
ImageIO.write(image, "png", f);
//自动打开
/*if (Desktop.isDesktopSupported()
&& Desktop.getDesktop().isSupported(Desktop.Action.OPEN))
Desktop.getDesktop().open(f);*/
} public static void main(String[] args) {
Date dt=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMddHHmmss");
String data=sdf.format(dt);
String rd=sdf1.format(dt);
try {
captureScreen("F:\\image\\"+data,rd+".png");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

最新文章

  1. How To Install Java on CentOS and Fedora
  2. Media Queries详解
  3. MySQL数据库学习笔记(三)----基本的SQL语句
  4. sprite常用操作
  5. (Map)利用Map,完成下面的功能:  从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。  附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录 (Map)在原有世界杯Map 的基础上,增加如下功能: 读入一支球队的名字,输出该球队夺冠的年份列表。 例如,读入“巴西”,应当输出 1958 1962 1970 1
  6. Unity3D 之NGUI各种脚本及应用
  7. c++builder向c#开发的webservice传递非数字参数
  8. 深入了解三种针对文件(JSON、XML与INI)的配置源
  9. iOS开发笔记 基于wsdl2objc调用asp.net WebService
  10. HTML+CSS笔记 表格,超链接,图片,表单
  11. form不提交问题
  12. 详解java设计模式之责任链模式
  13. iOS之 重绘机制
  14. ngx.re.match使用示例
  15. Linux systemctl 命令完全指南
  16. php-beast 代码加密
  17. 字段like多个条件(or关系)简写
  18. RabbitMQ管理界面
  19. POSIX 线程取消点的 Linux 实现
  20. windows7触屏编程

热门文章

  1. 最近工作中用到的Linux指定 PS Kill netstat解释
  2. NX二次开发-查询信息窗口是否打开UF_UI_is_listing_window_open
  3. NX二次开发-C++time函数计时
  4. c语言NULL和0区别及NULL详解
  5. Comparison of FastText and Word2Vec
  6. 简述MapReduce数据流
  7. [转]C++的Json解析库:jsoncpp和boost
  8. ArcGIS和ENVI最新软件下载
  9. HDU 5052 /// 树链剖分+线段树区间合并
  10. 原来腾迅的QQ号竟然是个int变量