package cn.com.unutrip.java.opensource.image;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
/**
* 该JavaBean可以直接在其他Java应用程序中调用,实现屏幕的"拍照"
*
* @author longgangbai
*
*/
class GuiCamera {
private String fileName; // 文件的前缀
private String defaultName = "GuiCamera";
static int serialNum = 0;
private String imageFormat; // 图像文件的格式
private String defaultImageFormat = "png";
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
/***************************************************************************
* 默认的文件前缀为GuiCamera,文件格式为PNG格式 The default construct will use the default
* Image file surname "GuiCamera", and default image format "png"
**************************************************************************/
public GuiCamera() {
fileName = defaultName;
imageFormat = defaultImageFormat;
}
/***************************************************************************
* @param s
* the surname of the snapshot file
* @param format
* the format of the image file, it can be "jpg" or "png"
* 本构造支持JPG和PNG文件的存储
**************************************************************************/
public GuiCamera(String s, String format) {
fileName = s;
imageFormat = format;
}
/***************************************************************************
* 对屏幕进行拍照 snapShot the Gui once
**************************************************************************/
public void snapShot() {
try {
// 拷贝屏幕到一个BufferedImage对象screenshot
BufferedImage screenshot = (new Robot())
.createScreenCapture(new Rectangle(0, 0,
(int) d.getWidth(), (int) d.getHeight()));
serialNum++;
// 根据文件前缀变量和文件格式变量,自动生成文件名
String name = fileName + String.valueOf(serialNum) + "."
+ imageFormat;
System.out.println("name =" + name);
File f = new File(name);
System.out.print("Save File " + name);
// 将screenshot对象写入图像文件
ImageIO.write(screenshot, imageFormat, f);
System.out.print("..Finished! ");
} catch (Exception ex) {
System.out.println(ex);
}
}
public static void main(String[] args) {
GuiCamera cam = new GuiCamera("D://Test", "png");
cam.snapShot();
}
}
分享到:
相关推荐
在Java编程中,实现截图功能是一项实用且常见的需求,它能够帮助用户捕获屏幕上的特定区域或整个屏幕,并保存为图像文件。这个功能通常应用于各种应用程序,如屏幕录制软件、远程协助工具或者教学演示软件等。在本篇...
Java截屏功能工程是一个利用Java编程语言实现的实用工具,主要功能是截取屏幕图像,并提供了自定义截图大小以及自动保存的功能。这个工程对于开发者来说,尤其在进行自动化测试、用户界面反馈或者其他需要屏幕捕获的...
综上所述,创建一个功能完善的Java截图程序涉及了Java语言的基础知识,Swing GUI的使用,图像处理技术,事件监听,实时预览机制,编辑工具的实现,以及多线程和文件操作。这样的程序不仅能够满足基本的截图需求,还...
java实现截图功能,类似qq的截图功能,欢迎下载
在Java编程语言中,实现截屏功能是一项常见的需求,尤其对于开发桌面应用或者自动化测试工具时。本项目提供了一个已调通的Java截屏软件,它允许用户在单机环境下捕获屏幕快照并将其保存为PNG或JPEG格式。下面我们将...
在Java编程环境中,实现截屏功能并提供图形用户界面(GUI)是一项常见的需求,尤其对于开发者来说,能够方便地测试和展示应用效果。本项目名为"JAVA实现截屏功能 有界面 附源码",提供了这样的解决方案。下面将详细...
在Java编程语言中,实现截屏功能并不复杂,主要依赖于Java AWT(Abstract Window Toolkit)库中的Robot类。Robot类提供了模拟用户键盘和鼠标操作的功能,包括获取屏幕的像素数据,这正是我们进行截屏操作的核心。接...
首先,要实现Java截屏功能,我们需要理解Java AWT(Abstract Window Toolkit)和Swing库。这两个库提供了创建和管理窗口、控件以及与操作系统交互的基础。在AWT中,`Robot`类是实现截屏的关键,它允许程序模拟用户的...
#### 一、Java截屏功能实现原理 在Java中,实现屏幕截图主要依赖于`java.awt.Robot`类,它提供了与底层操作系统交互的能力,能够模拟键盘和鼠标事件,同时也支持屏幕图像的捕获。通过`Robot`类的`...
java实现截图功能,类似QQ截图,直接导入就可以使用,
java实现截图的效果java实现截图的效果java实现截图的效果java实现截图的效果
这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它扩展了Swing组件,增加了对操作系统本地功能的支持,如打印、拖放以及在这个案例中的屏幕截图。 1. **DJNativeSwing**: DJNativeSwing库是Java...
在Java编程环境中,实现QQ屏幕截图功能涉及到多个技术点,包括图形用户界面(GUI)的创建、屏幕捕获、图像处理以及文件保存等。下面将详细解释这些知识点。 1. **Java AWT/Swing库**: Java提供了AWT(Abstract Window...
这意味着用户不仅可以直接运行程序,还可以通过查看源码学习到如何在Java中实现截图功能,这对于Java初学者或者想要深入研究图形用户界面(GUI)和图像处理的开发者来说是一份宝贵的资源。 【描述】:“java写的...
Java截屏功能是通过利用Java AWT库中的Robot类来实现的,这个类提供了模拟键盘和鼠标操作的功能,同时也能够获取屏幕的图像数据。以下是对给定代码的详细解释: 1. 引入必要的库: - `java.awt.Dimension`: 用于...
总的来说,Java屏幕截屏功能的实现是通过`java.awt.Robot`类来完成的,这个功能强大的类使得开发者能够在Java程序中实现与用户交互的各种操作,包括捕获屏幕内容。通过对`ScreenCapture.java`文件的学习和理解,你...
### Java实现网页截图技术:深度解析与代码示例 在当今的互联网时代,网页截图技术在许多场景下都有着广泛的应用,如自动化测试、数据分析、页面快照保存等。本文将深入探讨如何使用Java来实现网页截图,从原理到...
9. **截图功能**:实现截图功能可能需要用到Java的Robot类,该类允许程序模拟键盘和鼠标操作,从而实现屏幕截图并转化为图像文件。图像文件再通过文件传输功能发送给对方。 通过这个项目,开发者可以深入理解Java的...
在Java编程环境中,实现截图功能是一项实用且常见的需求,尤其在开发桌面应用或者Web应用时。本篇文章将详细探讨如何利用Java技术栈实现这一功能,主要聚焦于`Jcrop`库在Spring MVC框架中的应用。 首先,`Jcrop`是...
Java截图小工具是一种基于Java编程语言实现的程序,它能够帮助用户捕获并保存计算机屏幕上的图像。在本文中,我们将深入探讨如何使用Java来创建一个简单的截图工具,包括涉及的关键类、方法以及实现过程。 首先,...