java截屏代码

转载 2017年07月13日 15:35:19

转载自: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对象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!\n");
		} catch (Exception ex) {
			System.out.println(ex);
		}
	}

	public void snapShot(String proName, Long time, String imgFormat) {
		try {
			// 拷贝屏幕到一个BufferedImage对象screenshot
			BufferedImage 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();
	}
}


Java经典代码

Java经典代码
  • just3do
  • just3do
  • 2017年03月29日 09:44
  • 1351

Java 代码简化系列 (一)

Java趣味短码 - (第一节) 今天跟公司的童鞋聊天的时候,谈到了关于短码和代码的精简的方式,所以整理出来。 需求很简单。 首先定义一个类 class Item{ public in...
  • ttch
  • ttch
  • 2013年01月23日 23:11
  • 1847

Java代码质量检查工具及使用案例

Java代码质量检查工具及使用案例 在现在的软件开发中,由于软件的复杂度越来越高,业务也覆盖很广,各个业务模块业务错综复杂。这样就需要我们需要团队开发,在我们团队中开发人员的经验、代码风格样式都不一...
  • geyouchao
  • geyouchao
  • 2016年06月24日 14:47
  • 12971

一个java代码生成器的简单实现

最近,一直跟着公司技术牛人在搞大数据相关的东西,主要涉及的是环境搭建,同时也了解下整个hadoop生态系统相关的东西,真是让我大开眼界,这个在之后的博文中再来与大家分享。 今天,笔者给大家介绍一个代...
  • qiyongkang520
  • qiyongkang520
  • 2016年03月07日 20:19
  • 22644

【JAVA实例】代码生成器的原理讲解以及实际使用

原理:利用Freemarker技术,通过java加载Freemarker模板,将前台输入的参数填入模板里面,通过FileZip压缩一个zip包,然后自动下载下来 1.预先定义好模板 ...
  • jxausea
  • jxausea
  • 2016年04月30日 08:09
  • 2005

Java代码优化提点

优化原则        代码优化是指对程序代码进行等价(指不改变程序的运行结果)变换。程序代码可以是中间代码,也可以是目标代码。等价的含义是使得变换后的代码运行结果与变换前代码运行结果相同。优化...
  • zheng963
  • zheng963
  • 2015年01月16日 13:08
  • 1059

Java用户登陆界面例子 代码

转自http://www.cnblogs.com/liwustore/archive/2013/01/01/2841492.html 好久没有总结这个月的学习了,先唠叨几句,这个月工作烂的一塌糊涂。...
  • JY_Sharer
  • JY_Sharer
  • 2015年04月20日 07:42
  • 12829

一个java代码生成器的简单实现

最近,一直跟着公司技术牛人在搞大数据相关的东西,主要涉及的是环境搭建,同时也了解下整个hadoop生态系统相关的东西,真是让我大开眼界,这个在之后的博文中再来与大家分享。...
  • ExceptionMapping
  • ExceptionMapping
  • 2017年03月29日 15:38
  • 1009

如何写出更好的Java代码

Java是最流行的编程语言之一,但似乎并没有人喜欢使用它。好吧,实际上Java是一门还不错的编程语言,由于最近Java 8发布了,我决定来编辑一个如何能更好地使用Java的列表,这里面包括一些库,实践...
  • lgl265
  • lgl265
  • 2014年05月23日 17:28
  • 1669

最常用的1000个Java类(附代码示例)

这篇文章主要介绍了最常用的1000个Java类(附代码示例),需要的朋友可以参考下 分析Github 3000个开源项目,粗略统计如下。括号内的数字是使用频率 0-3000. 下面的列表显示不全...
  • zhangli865621030
  • zhangli865621030
  • 2015年11月30日 11:44
  • 9711
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java截屏代码
举报原因:
原因补充:

(最多只允许输入30个字)