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应用程序中调用,实现屏幕的"拍照"
* This JavaBean is used to snapshot the GUI in a
* Java application! You can embeded
* it in to your java application source code, and us
* it to snapshot the right GUI of the application
* @see javax.ImageIO
* @author liluqun (liluqun@263.net)
* @version 1.0
*
*****************************************************/
public 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;
File f = new File(name);
System.out.print("Save File "+name);
//将screenshot对象写入图像文件
ImageIO.write(screenshot, imageFormat, f);
System.out.print("..Finished!\n");
}
catch (Exception ex) {
System.out.println(ex);
}
}
public static void main(String[] args)
{
GuiCamera cam= new GuiCamera("d:\\", "jpg");//
cam.snapShot();
}
}
分享到:
相关推荐
java实现屏幕照相,本程序体积极小,包括import语句,在内,包括空行都只有23行代码,如果你想用java写屏幕录像照相,远程监控等等程序,这将是很好的入门。
首先,我们要理解Java中实现屏幕监控的关键技术。这通常涉及到Java的图形用户界面(GUI)组件和图像处理库。Java提供了丰富的API,如Java AWT(Abstract Window Toolkit)和Swing,用于创建和操作图形界面。对于屏幕...
在Java编程环境中,实现屏幕截图是一项实用的技术,广泛应用于各种应用场景,如屏幕录像、远程控制、游戏辅助等。本文将详细讲解如何使用Java来完成这一功能,并基于提供的`screenChort.java`源代码进行解析。 首先...
用java写了个录视频的小程序, 录制后文件默认保存在系统临时目录, 录制视频和麦克风声音, 播放时回车键进入全屏, esc退出全屏, 希望能对有兴趣的朋友提供参考 已重写新版原生java生成FLV格式视频文件 请看...
### Java实现屏幕取色 #### 一、引言 在软件开发中,有时我们需要获取屏幕上的特定像素颜色,比如在图像处理、颜色检测或者辅助工具等场景中。使用Java实现屏幕取色是一种实用且常见的需求。本文将详细介绍如何...
Java 实现屏幕取色涉及到对操作系统底层的交互以及图形用户界面(GUI)的处理。屏幕取色通常是通过读取屏幕像素的颜色信息来实现的,这需要用到Java AWT库中的`Robot`类。以下是对给定代码的详细解释: 1. **`Robot...
java 编程实现鼠标单击获取屏幕上的任一点位置的颜色 java 编程实现鼠标单击获取屏幕上的任一点位置的颜色 java 编程实现鼠标单击获取屏幕上的任一点位置的颜色 java 编程实现鼠标单击获取屏幕上的任一点位置的颜色 ...
这个特定的项目是基于JAVA实现的屏幕共享程序,它提供了在局域网内进行屏幕共享的功能。以下是对该程序及其相关技术的详细解释: 首先,让我们关注核心编程语言——JAVA。JAVA是一种广泛使用的面向对象的编程语言,...
根据给定的文件信息,我们可以总结出以下关于使用Java实现屏幕截图的重要知识点: ### Java屏幕抓图技术概览 在Java中,实现屏幕抓图主要依赖于`java.awt.Robot`类,它提供了屏幕捕获的功能。通过创建`Robot`实例...
本项目以JAVA为编程语言,实现了这一功能,但据描述提到,在线程优化方面可能存在不足。接下来,我们将深入探讨JAVA实现局域网桌面共享的相关知识点。 首先,JAVA是一种广泛使用的跨平台编程语言,它的网络编程能力...
总结来说,通过Java Socket实现屏幕网络监控需要掌握以下知识点: 1. Java Socket编程基础:包括ServerSocket和Socket的使用,以及连接建立和断开。 2. 图像处理:如何捕获屏幕、编码和解码图像,以及选择合适的...
开发者可以通过阅读这些源代码来学习如何在Java中实现屏幕截取功能,也可以将其作为基础进行二次开发,添加更多功能,比如图像编辑、多显示器支持或者自定义快捷键等。 总结来说,这个Java屏幕截取程序的实现涉及到...
说明:程序由Java语言实现,功能包括全屏截图、自定义截图,在自定义状态下:在选区中 右键 -> 取消选区 在选区中 双击 -> 保存选区 在选区外 右键 -> 清除图像 程序中窗口截图部分暂时没有实现。 本程序是学习之...
在本专题训练作业中,我们将深入探讨如何使用Java语言实现一个远程屏幕监控系统。这个系统允许用户通过网络实时查看和控制远程计算机的屏幕,从而在各种应用场景中提供远程协助、远程管理或教育辅助等功能。这一技术...
import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public Server() { } public void listen() throws IOException { ServerSocket server = ...
在探讨如何在Windows环境下利用Java实现对屏幕、鼠标和键盘的监控之前,我们先要理解Java在处理此类事件上的基本框架以及其局限性。Java通过AWT(Abstract Window Toolkit)和Swing库提供了多种事件监听接口,如...
Java实现贪吃蛇小游戏Java实现贪吃蛇小游戏Java实现贪吃蛇小游戏Java实现贪吃蛇小游戏 Java实现贪吃蛇小游戏Java实现贪吃蛇小游戏Java实现贪吃蛇小游戏Java实现贪吃蛇小游戏 Java实现贪吃蛇小游戏Java实现贪吃蛇小...
总的来说,Java开发的屏幕照相机是一款利用Java的跨平台特性和丰富的库资源实现的高效工具,具有隐形运行和屏幕监控功能,适用于多种应用场景。其开发涉及GUI设计、图像处理、文件操作以及网络通信等多个技术领域,...
通过组合这两个类,可以实现屏幕监控和机器人操作。 二、Java实现人工智能化屏幕监控窗口的实现步骤 1. 创建一个JFrame窗口,用于显示屏幕监控的结果。 2. 使用Toolkit类获取屏幕的大小,并创建一个矩形区域,用于...
### JAVA实现屏幕抓图与远程桌面控制 #### 一、Java屏幕抓图技术解析 在Java中,要实现屏幕抓图的功能,主要依赖于`java.awt.Robot`类。该类提供了一系列方法来模拟键盘和鼠标操作,并允许开发人员捕获整个屏幕或...