`
longgangbai
  • 浏览: 7340069 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java 截图功能

阅读更多

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();
 }
}

分享到:
评论
1 楼 rockethj8 2010-10-12  

相关推荐

    Java截图功能

    在Java编程中,实现截图功能是一项实用且常见的需求,它能够帮助用户捕获屏幕上的特定区域或整个屏幕,并保存为图像文件。这个功能通常应用于各种应用程序,如屏幕录制软件、远程协助工具或者教学演示软件等。在本篇...

    java截屏功能工程

    Java截屏功能工程是一个利用Java编程语言实现的实用工具,主要功能是截取屏幕图像,并提供了自定义截图大小以及自动保存的功能。这个工程对于开发者来说,尤其在进行自动化测试、用户界面反馈或者其他需要屏幕捕获的...

    功能比较完善的JAVA截图程序

    综上所述,创建一个功能完善的Java截图程序涉及了Java语言的基础知识,Swing GUI的使用,图像处理技术,事件监听,实时预览机制,编辑工具的实现,以及多线程和文件操作。这样的程序不仅能够满足基本的截图需求,还...

    java实现截图功能

    java实现截图功能,类似qq的截图功能,欢迎下载

    JAVA截屏代码+单机软件

    在Java编程语言中,实现截屏功能是一项常见的需求,尤其对于开发桌面应用或者自动化测试工具时。本项目提供了一个已调通的Java截屏软件,它允许用户在单机环境下捕获屏幕快照并将其保存为PNG或JPEG格式。下面我们将...

    JAVA实现截屏功能 有界面 附源码

    在Java编程环境中,实现截屏功能并提供图形用户界面(GUI)是一项常见的需求,尤其对于开发者来说,能够方便地测试和展示应用效果。本项目名为"JAVA实现截屏功能 有界面 附源码",提供了这样的解决方案。下面将详细...

    JAVA简单实现截屏

    在Java编程语言中,实现截屏功能并不复杂,主要依赖于Java AWT(Abstract Window Toolkit)库中的Robot类。Robot类提供了模拟用户键盘和鼠标操作的功能,包括获取屏幕的像素数据,这正是我们进行截屏操作的核心。接...

    截屏源代码,用java编写的

    首先,要实现Java截屏功能,我们需要理解Java AWT(Abstract Window Toolkit)和Swing库。这两个库提供了创建和管理窗口、控件以及与操作系统交互的基础。在AWT中,`Robot`类是实现截屏的关键,它允许程序模拟用户的...

    java实现截屏源代码

    #### 一、Java截屏功能实现原理 在Java中,实现屏幕截图主要依赖于`java.awt.Robot`类,它提供了与底层操作系统交互的能力,能够模拟键盘和鼠标事件,同时也支持屏幕图像的捕获。通过`Robot`类的`...

    java实现截图功能,类似QQ截图

    java实现截图功能,类似QQ截图,直接导入就可以使用,

    JAVA3d截图功能的实现

    java实现截图的效果java实现截图的效果java实现截图的效果java实现截图的效果

    纯Java实现整个网页截图项目源代码

    这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它扩展了Swing组件,增加了对操作系统本地功能的支持,如打印、拖放以及在这个案例中的屏幕截图。 1. **DJNativeSwing**: DJNativeSwing库是Java...

    Java实现QQ屏幕截图功能.zip

    在Java编程环境中,实现QQ屏幕截图功能涉及到多个技术点,包括图形用户界面(GUI)的创建、屏幕捕获、图像处理以及文件保存等。下面将详细解释这些知识点。 1. **Java AWT/Swing库**: Java提供了AWT(Abstract Window...

    java截屏小助手(含源码)

    这意味着用户不仅可以直接运行程序,还可以通过查看源码学习到如何在Java中实现截图功能,这对于Java初学者或者想要深入研究图形用户界面(GUI)和图像处理的开发者来说是一份宝贵的资源。 【描述】:“java写的...

    java截屏代码

    Java截屏功能是通过利用Java AWT库中的Robot类来实现的,这个类提供了模拟键盘和鼠标操作的功能,同时也能够获取屏幕的图像数据。以下是对给定代码的详细解释: 1. 引入必要的库: - `java.awt.Dimension`: 用于...

    Java屏幕截屏源代码

    总的来说,Java屏幕截屏功能的实现是通过`java.awt.Robot`类来完成的,这个功能强大的类使得开发者能够在Java程序中实现与用户交互的各种操作,包括捕获屏幕内容。通过对`ScreenCapture.java`文件的学习和理解,你...

    Java实现网页截图技术

    ### Java实现网页截图技术:深度解析与代码示例 在当今的互联网时代,网页截图技术在许多场景下都有着广泛的应用,如自动化测试、数据分析、页面快照保存等。本文将深入探讨如何使用Java来实现网页截图,从原理到...

    java聊天室(有截图功能)

    9. **截图功能**:实现截图功能可能需要用到Java的Robot类,该类允许程序模拟键盘和鼠标操作,从而实现屏幕截图并转化为图像文件。图像文件再通过文件传输功能发送给对方。 通过这个项目,开发者可以深入理解Java的...

    Java实现截图功能

    在Java编程环境中,实现截图功能是一项实用且常见的需求,尤其在开发桌面应用或者Web应用时。本篇文章将详细探讨如何利用Java技术栈实现这一功能,主要聚焦于`Jcrop`库在Spring MVC框架中的应用。 首先,`Jcrop`是...

    java截图小工具

    Java截图小工具是一种基于Java编程语言实现的程序,它能够帮助用户捕获并保存计算机屏幕上的图像。在本文中,我们将深入探讨如何使用Java来创建一个简单的截图工具,包括涉及的关键类、方法以及实现过程。 首先,...

Global site tag (gtag.js) - Google Analytics