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

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

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

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();	}

转载地址:http://rplpi.baihongyu.com/

你可能感兴趣的文章
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Java8 HashMap集合解析
查看>>
fastcgi_param 详解
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
MODULE_DEVICE_TABLE的理解
查看>>
db db2_monitorTool IBM Rational Performace Tester
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
Objective-C 基础入门(一)
查看>>
Flutter Boost的router管理
查看>>
iOS开发支付集成之微信支付
查看>>
C++模板
查看>>
【C#】如何实现一个迭代器
查看>>
【C#】利用Conditional属性完成编译忽略
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Node.js-模块和包
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
PHP 7 的五大新特性
查看>>