将截屏图片保存到本地路径:
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();
}
分享到:
相关推荐
它是Java类文件和其他资源的集合,可以通过Java运行时环境(JRE)执行。双击"ScreenShot.jar",程序将启动并开始运行。运行后,它会在当前目录下创建一个名为“image”的文件夹,用于存储用户截取的图片。 在程序的...
在本项目中,"纯Java实现整个网页截图项目源代码" 是一个利用Java编程语言来实现的实用程序,它能够捕获整个网页的图像并将其保存为图片文件。这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它...
总结来说,这款“网页截图工具,采用Java Applet实现”是一个利用Java的图形和交互能力在浏览器中捕获网页图像的应用。尽管现代Web技术提供了替代方案,但对于某些场景,Java Applet依然能提供一种有效的解决方案。...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
上述代码中,`Rectangle`对象定义了屏幕的大小,`createScreenCapture()`方法则返回指定区域的屏幕截图。注意,创建`Robot`对象可能会抛出`AWTException`,确保捕获并处理异常。 要显示鼠标图形,我们需要知道鼠标...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
通过以上分析可以看出,这个Java程序涉及到了面向对象编程的核心概念和技术,同时也展示了如何利用这些技术解决实际问题——即计算雷达屏幕上两点间的距离。这对于学习Java语言和面向对象编程的人来说是一个很好的...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的简单类 useArray1.java 用反射机制使用数组示例1 useArray2.java 用反射机制使用数组示例2 第10章 ...
在Java中,我们可以利用java.awt.Robot类来实现屏幕抓取。Robot类提供了一系列方法,如createScreenCapture(),用于捕获指定区域的屏幕图像。结合java.awt.Rectangle对象,我们可以精确地定义要截取的屏幕部分,从而...
`paint`方法是绘制图形的关键,它遍历`vec`中的所有向量(每个向量代表一条线段的所有点),并利用`drawPolyline`方法绘制出这些线段。这里通过将每个向量中的点转换为数组`x`和`y`,再调用`drawPolyline`进行绘制。...
总的来说,利用Java SWT编写截图程序是一种高效且灵活的方式,它允许开发者创建功能丰富、用户体验良好的桌面应用。通过上述的各个功能模块,我们可以构建出一个功能强大的截图工具,不仅能满足基本的截图需求,还能...
### Java常用方法总结 ...通过以上方法,可以有效地配置Java开发环境,同时也能更好地利用JFrame等Swing组件来构建功能丰富的GUI应用程序。这些技巧不仅适用于初学者,对于有一定经验的开发者来说也是很好的参考。
)”的程序是一个用Java编写的记事本应用,它具备了基本的文本编辑功能,并且能够运行在Java环境中。该程序不仅体现了Java在图形用户界面(GUI)开发中的应用,还展示了如何利用事件监听器来实现用户交互,以及如何...
通过上述介绍可以看出,“屏幕拍照(Java)”是一个简单但非常实用的功能,它不仅可以帮助开发者更好地理解应用程序在运行过程中的行为,还可以在出现问题时提供有力的诊断信息。通过使用Java标准库中的`Robot`和`...
利用AWT或Swing的Graphics类进行绘图,清除屏幕,重新绘制蛇、食物和边界。通过延时(例如使用`Thread.sleep()`)实现简单的动画效果,使蛇看起来在移动。 8. **实验报告**: 实验报告应包括项目的概述、设计思路...
Java编写的截屏程序是一种利用Java编程语言实现的桌面屏幕捕获工具,它允许用户从计算机屏幕上抓取图像。在Java中实现截屏功能主要涉及Java的图形和图像处理库,如AWT(Abstract Window Toolkit)和Swing库。下面...
Java图形时钟是一种利用Java编程语言创建的可视化应用程序,它能模拟现实世界中的钟表,显示当前的时间。在这个项目中,开发者使用了Eclipse作为集成开发环境(IDE),结合Java的多媒体功能,来构建这个图形时钟。...
当鼠标移动时,程序可能使用`Graphics2D`类来更新屏幕上的信息,显示鼠标的当前坐标。`Graphics2D`是`Graphics`类的扩展,提供了更高级的绘图功能。 5. **Swing Timer**: 为了实现平滑的坐标更新,可能使用了`...
我们可以通过它的getText()方法获取当前文本,通过setText()方法设置文本,以及通过append()方法追加文本。 6. **对话框**: - 记事本程序可能需要使用JOptionPane来弹出对话框,提示用户选择或输入信息,如打开或...