java截屏代码

来源:互联网 发布:观察者模式js 编辑:程序博客网 时间:2024/06/05 02:29

转载自:http://www.jb51.net/article/44614.htm


import java.awt.AWTException;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.Date;import javax.imageio.ImageIO;public class SnapShot {private String fileName; // 文件的前缀private String defaultName = "GuiCamera";static int serialNum = 0;private String imageFormat; // 图像文件的格式private String defaultImageFormat = "png";Dimension d = Toolkit.getDefaultToolkit().getScreenSize();public SnapShot() {fileName = defaultName;imageFormat = defaultImageFormat;}public SnapShot(String s, String format) {fileName = s;imageFormat = format;}public void snapShot() {try {// 拷贝屏幕到一个BufferedImage对象screenshotBufferedImage 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!\n");} catch (Exception ex) {System.out.println(ex);}}public void snapShot(String proName, Long time, String imgFormat) {try {// 拷贝屏幕到一个BufferedImage对象screenshotBufferedImage screenshot = (new Robot()).createScreenCapture(new Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));serialNum++;// 根据文件前缀变量和文件格式变量,自动生成文件名String name = proName + String.valueOf(time) + "." + imgFormat;File f = new File(name);System.out.print("Save File " + name);// 将screenshot对象写入图像文件ImageIO.write(screenshot, imgFormat, f);System.out.print("..Finished!\n");} catch (Exception ex) {System.out.println(ex);}}public static void snapSome() throws AWTException {boolean flag = true;int i = 0;SnapShot cam = new SnapShot();while (flag) {if (i > 9) {flag = false;}try {Long time = new Date().getTime();System.out.println(time);cam.snapShot("d:\\snap\\helloTime", time, "png");i++;Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}public static void main(String[] args) throws AWTException {snapSome();}}


原创粉丝点击