昨天无意间接触到了Robot这个类,于是突发奇想写了个java的屏幕截图,但是测试的时候有时候能截到,有时候都是一大堆空白,不知怎么回事,暂且给大家分享一下。
本来想写一个透明窗口,但是java好像不能实现,唯一的方法就是在程序运行的时候把整个屏幕的图像画到全屏窗口里,然后再选定区域截图。
先写了个GetCapture类
package com.jeedroid;
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
public class GetCapture
{
private static BufferedImage background;
public static BufferedImage getCapture()
{
try
{
Robot robot=new Robot();
Rectangle rect=new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
background=robot.createScreenCapture(rect);
} catch (AWTException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return background;
}
}
然后在一个类里面编写截图程序,主要用到了鼠标的事件监听,还有全屏显示的问题
首先介绍下GraphicsEnvironment,GraphicsEnvironment 类描述了 Java(tm) 应用程序在特定平台上可用的 GraphicsDevice 对象和 Font 对象的集合,直接调用他的getLocalGraphicsEnvironment方法来返回本地 GraphicsEnvironment,GraphicsDevice 类描述可以在特定图形环境中使用的图形设备。这些设备包括屏幕和打印机设备。那么可以把我们自己的窗口设为一个全屏的窗口。
在我们自己写的窗口类中对鼠标事件监听来获取自己所选的区域,确定一个矩形,然后通过Robot robot=new Robot();BufferedImage image=robot.createScreenCapture(rect);来把我们选定的区域放到内存中,调用ImageIO函数将图像输出来即可。
下面有详细的代码
分享到:
相关推荐
在提供的压缩包文件“用java写的屏幕截图源代码”中,很可能包含了完整的实现代码,你可以参考并学习其中的实现细节,以加深对Java屏幕截图功能的理解。通过这个过程,你不仅可以掌握基本的屏幕截图技术,还能了解到...
标题中的“Java全屏幕截图程序”指的是一个使用Java编程语言实现的应用程序,它能够捕获用户的整个计算机屏幕并将其保存为图像文件。这种程序在许多场景下都非常实用,例如进行故障排查、教学演示或者测试记录等。...
JAVA写的屏幕截图程序,与你分享,共同进步
### JAVA的屏幕截图知识点解析 #### 一、代码解析与功能概述 本篇文章将深入解析一个Java程序,该程序能够实现全屏幕截图的功能,并且能够将截图保存为指定格式的图片文件。通过阅读本文,您将了解到如何在Java中...
根据给定的信息,本文将详细解释“JAVA写的屏幕截图小程序”的关键知识点,包括其实现原理、核心代码解析以及应用场景。 ### 实现原理 #### Java AWT 和 Swing 库 Java 提供了强大的图形用户界面(GUI)开发工具...
基于java的QQ截屏工具的设计和实现能够实现对屏幕的随机截取,复制,保存以及添加文字等操作,便于用户对数据的处理。 该软件的功能: (1)随机获取屏幕指定区域; (2)编辑(添加文字)截图; (3)存储...
Java编写的截图工具是一款利用Java编程语言实现的类似于腾讯QQ截图功能的应用程序。这款工具旨在为用户提供方便快捷的屏幕截取体验,具有简洁的操作界面和实用的功能。在本篇文章中,我们将深入探讨如何使用Java来...
Java编写的截图小程序是一个实用的桌面工具,它允许用户快速捕获屏幕上的任何区域,并进行进一步的操作,如保存、编辑或分享。这个程序是用Java编程语言实现的,利用了Java丰富的图形用户界面(GUI)库和事件处理...
Java 屏幕截图工具是一种利用Java编程语言实现的软件,能够捕获用户的计算机屏幕并将其保存为图像文件。这个简易的工具可能包含了基础的屏幕捕捉功能,但根据描述,它目前可能还不支持自定义区域截图和保存功能。...
用来屏幕截图的哦 ikoopa@126.com
小弟初学java,最近用swing写了这个小截图工具 迫于技术实在太差,很多效果不知道如何实现 欢迎大家“批驳”,呵呵 附上QQ:258801127 希望和各位网友一同进步 源代码可以直接导入eclipse
在本项目中,"基于Java的QQ屏幕截图工具的设计与实现"是一个实用的软件开发案例,它展示了如何利用Java编程语言来创建一个功能类似于QQ的屏幕截图应用。这个项目不仅适用于学习Java编程的新手,也适合那些正在寻找...
用java socket写的远程屏幕监视软件。 有详细文档,新手看也很容易懂,可以实时屏幕监控,截图,调图片大小,刷新率啊。是我java课程设计的作业,传上来相互学习啊。 绝对是能用滴。报错的话,在eclipse里右键点击...
- 由于Java的“一次编写,到处运行”特性,用Java编写的截图工具可以在任何安装了Java运行环境的平台上运行,包括Windows、Mac OS X和Linux等。 9. **自定义功能**: - 高级截图工具可能包含额外功能,如矩形、...
在Java中,`java.awt.Robot`类是进行屏幕截图的关键。这个类提供了模拟用户输入的能力,包括键盘和鼠标操作。在屏幕截图中,我们可以使用`createScreenCapture()`方法来获取屏幕的一部分或全部内容。 3. **...
在截图场景中,我们可以通过`createScreenCapture(Rectangle)`方法来获取指定矩形区域的屏幕截图。 3. **Rectangle 类**:`java.awt.Rectangle`用来表示一个二维坐标系统中的矩形区域。在截图工具中,用户选择的...
这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它扩展了Swing组件,增加了对操作系统本地功能的支持,如打印、拖放以及在这个案例中的屏幕截图。 1. **DJNativeSwing**: DJNativeSwing库是Java...
【标题】:“截图软件,用java写的” 在IT领域,编程语言Java被广泛应用于各种软件开发,包括桌面应用、Web应用以及移动应用等。本项目是利用Java编写的一款截图工具,它模仿了QQ截图的功能,提供了用户友好的界面...
在这个截图程序中,可能会使用`java.awt.Robot`类来生成屏幕截图,以及`javax.swing.JFrame`来展示截图结果。 2. **Robot 类**:`java.awt.Robot`是Java AWT库的一部分,它可以模拟键盘和鼠标操作,包括捕获屏幕...