博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 利用java运行时的方法得到当前屏幕截图的方法
阅读量:7153 次
发布时间:2019-06-29

本文共 1932 字,大约阅读时间需要 6 分钟。

hot3.png

将截屏图片保存到本地路径:

package com.test;import java.awt.AWTException;import java.awt.Dimension;import java.awt.HeadlessException;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class MainRun {	/**	 * @param args	 */	public static void main(String[] args) {				try {			Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();			BufferedImage screenshot = (new Robot()).createScreenCapture(new Rectangle(0,					0,(int)dimension.getWidth(),(int)dimension.getHeight()));			File file = new File("C:/screen.jpg");			ImageIO.write(screenshot, "jpg", file);		} catch (HeadlessException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (AWTException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}	}}

web版,将显示实时的图片作为流返回到页面

/**	 * 得到当前屏幕截图	 * 	 * @param request	 * @param response	 */	private void getScreenImg(HttpServletRequest request, HttpServletResponse response) throws Exception {		Thread.sleep(3000);		response.setContentType("image/jpg");		ServletOutputStream sos = response.getOutputStream();		// 禁止页面缓存		response.setHeader("Pragma", "No-cache");		response.setHeader("Cache-Control", "no-cache");		response.setDateHeader("Expires", 0);		// 创建内存图象并获得其图形上下文		Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();		BufferedImage screenshot = (new Robot())				.createScreenCapture(new Rectangle(0, 0, (int) dimension						.getWidth(), (int) dimension.getHeight()));		// 将图像输出到客户端		ByteArrayOutputStream bos = new ByteArrayOutputStream();		ImageIO.write(screenshot, "jpg", bos);		byte[] buf = bos.toByteArray();		response.setContentLength(buf.length);		sos.write(buf);		bos.close();		sos.close();	}

转载于:https://my.oschina.net/u/3647620/blog/1552485

你可能感兴趣的文章
【快学springboot】9.使用 @Transactional 注解配置事务管理
查看>>
匿名对象方案与实体对象方案对比
查看>>
NTP服务放大攻击的解决办法
查看>>
SQL SERVER 占用资源高的SQL语句
查看>>
verdi使用
查看>>
The authenticity of host 'ip (ip)' can't be established.
查看>>
看博客学学Android(十八)
查看>>
lombok 安装
查看>>
virtualbox+centos 7 实现宿主机器互通
查看>>
Python爬虫学习笔记——防豆瓣反爬虫
查看>>
安装MySQL最后一步出现错误Error Nr.1045
查看>>
基于注解实现SpringBoot多数据源配置
查看>>
02 面向对象之:类空间问题以及类之间的关系
查看>>
20145234黄斐《Java程序设计》第九周学习总结
查看>>
Android Lint检查
查看>>
不仅仅完成功能,避免无效成本浪费
查看>>
mysql数据库从删库到跑路之mysql基础
查看>>
牛客多校第六场 J Heritage of skywalkert 随即互质概率 nth_element(求最大多少项模板)...
查看>>
Mysql 删除语句
查看>>
Jenkins与Git持续集成&&Linux上远程部署Java项目
查看>>