java 利用java运行时的方法得到当前屏幕截图的方法(转)
2024-08-26 04:43:29
将截屏图片保存到本地路径:
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://blog.csdn.net/songylwq/article/details/7714603
最新文章
- strftime 日期时间格式化
- python代码风格-PEP8
- 简单且线程安全的两个单例模式java程序
- Highcharts属性详解
- iOS:VFL语言
- Ubuntu 截屏
- bzoj1497
- (转)ASP.NET禁用刷新重复提交Backspace键
- WebService开发步骤
- jquery实现页面置顶功能代码
- PSAM 卡的应用操作方法
- python下的web服务器模块
- Sublime Text3 高亮显示Jade语法 (Windows 环境)
- Mac 环境部署Docker私有仓库
- System.out.print()执行顺序
- 2017蓝桥杯 省赛C题(承压计算)
- unity中导入插件时报错处理办法
- linux系统时间不同步解决办法(同步本地时间)
- 伸展树(Splay Tree)进阶 - 从原理到实现
- 百度离线地图,web