Java定期自动截屏的代码
来源:互联网 发布:nginx 反向代理配置项 编辑:程序博客网 时间:2024/06/05 06:39
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.util.Timer;import java.util.TimerTask;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 * @see javax.ImageIO * @version 1.0 * *********************************************************************/public class GuiCamera extends TimerTask { private String fileName;//文件的前缀 private String defaultName = "GuiCamera"; static int serialNum = 0; private String imageFormat;//图像文件的格式 private String defaultImageFormat = "png"; Dimension dimension = 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; } /**************************************************************** * 本构造支持JPG和PNG文件的存储 * @param s the surname of the snapshot file * @param format the format of the image file, * it can be "jpg" or "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) dimension .getWidth(), (int) dimension.getHeight())); // 根据文件前缀变量和文件格式变量,自动生成文件名 String name = fileName + "." + imageFormat; File f = new File(name); System.out.print("Save File " + name); // 将screenshot对象写入图像文件 ImageIO.write(screenshot, imageFormat, f); System.out.print("..Finished!/n"); } catch (Exception ex) { System.out.println(ex); } } public void run() { snapShot(); } public static void main(String[] args) { Timer timer = new Timer(); int fileNumber = 0; timer.schedule(new GuiCamera("C://11//Hello" + ++fileNumber, "png"), 0, 10000); }}
0 0
- Java定期自动截屏的代码
- Java定期自动截屏的代码(未测试)
- 一段定期自动截屏的代码
- MSSQL数据库的定期自动备份计划
- MSSQL数据库的定期自动备份计划
- mysql数据库自动定期备份的脚本
- TOMCAT定期自动正常退出的解决办法
- linux 定期自动备份mysql的shell
- SQL2005自动备份,定期删除的维护计划及自动定期清除日志
- SQLServer定期自动备份
- Mysql定期自动备份
- 自动定期使用static
- java中定期执行--Timer的使用
- 批处理实现自动删除过期文件的定期操作
- java中自动生成注册码的代码
- 自动代码生成的Java Code Template
- 自动代码生成的Java Code Template
- SQL Server定期自动备份
- Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)
- linux grep命令的使用见解
- 【转】写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”
- C# WinForm程序退出的方法
- Android中sdcard容量的获取
- Java定期自动截屏的代码
- 水题~HDU 1303 Double 题解+直接暴力
- Redis设置主从复制配置
- require总结
- Linux 2.6 Completely Fair Scheduler 内幕
- C++学习日记
- 电商商品规格选择逻辑
- OJ_0046
- 学Android--运用SQLite和ListView完成电话簿