- 浏览: 342480 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
努力吧飞翔:
...
[ExtJS] MVC应用架构示例 -
coolnight:
[Maven]Nexus 安装与配置 -
Kevin_jiang2011:
官网的文档写的不好。 简单的执行命令,又要重新下载一个ecli ...
jBPM5 入门 -
litterdeer:
好东西....
[ExtJS] MVC应用架构示例 -
basherone:
可以用,谢谢了
[ExtJS] MVC应用架构示例
截图工具
---------------------
整理网上代码而完成.
---------------------
整理网上代码而完成.
- capturer.jar (10.5 KB)
- 下载次数: 69
评论
3 楼
amos_tl
2011-06-12
CapturerHelper.java
package cn.bisoft.java.api.facade.capturer; import java.awt.BorderLayout; import java.awt.Cursor; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import java.awt.image.BufferedImage; import java.io.File; import java.io.OutputStream; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JDialog; import javax.swing.JPanel; public class CapturerHelper { private static CapturerHelper CPAUTERHELPER = new CapturerHelper(); private int x1; private int y1; private int x2; private int y2; private int recX; private int recY; private int recH; private int recW; private boolean isFirstPoint; private BackgroundImage labFullScreenImage; private Robot robot; private BufferedImage fullScreenImage; private BufferedImage pickedImage; private String defaultImageFormater; private JDialog dialog; public static void main(String[] args) throws Exception { String userDir = System.getProperty("user.home"); File tempFile = new File(userDir + "\\桌面\\" + DateHelper.format("dd-HH-mm-ss") + ".jpg"); CapturerHelper capturer = getInstance(); capturer.captureImage(); capturer.saveAsJPEG(tempFile); ClipboardHelper.setImage(capturer.getPickedImage()); System.exit(0); } private CapturerHelper() { this.isFirstPoint = true; this.labFullScreenImage = new BackgroundImage(); this.defaultImageFormater = "png"; this.dialog = new JDialog(); try { this.robot = new Robot(); } catch (Exception e) { e.printStackTrace(); } JPanel cp = (JPanel)this.dialog.getContentPane(); cp.setLayout(new BorderLayout()); this.labFullScreenImage.addMouseListener(new MouseAdapter(this) { public void mouseReleased() { CapturerHelper.access$0(this.this$0, true); CapturerHelper.access$6(this.this$0, CapturerHelper.access$1(this.this$0).getSubimage(CapturerHelper.access$2(this.this$0), CapturerHelper.access$3(this.this$0), CapturerHelper.access$4(this.this$0), CapturerHelper.access$5(this.this$0))); CapturerHelper.access$7(this.this$0).setVisible(false); } }); this.labFullScreenImage.addMouseMotionListener(new MouseMotionAdapter(this) { public void mouseDragged() { if (CapturerHelper.access$8(this.this$0)) { CapturerHelper.access$9(this.this$0, evn.getX()); CapturerHelper.access$10(this.this$0, evn.getY()); CapturerHelper.access$0(this.this$0, false); } else { CapturerHelper.access$11(this.this$0, evn.getX()); CapturerHelper.access$12(this.this$0, evn.getY()); int maxX = Math.max(CapturerHelper.access$13(this.this$0), CapturerHelper.access$14(this.this$0)); int maxY = Math.max(CapturerHelper.access$15(this.this$0), CapturerHelper.access$16(this.this$0)); int minX = Math.min(CapturerHelper.access$13(this.this$0), CapturerHelper.access$14(this.this$0)); int minY = Math.min(CapturerHelper.access$15(this.this$0), CapturerHelper.access$16(this.this$0)); CapturerHelper.access$17(this.this$0, minX); CapturerHelper.access$18(this.this$0, minY); CapturerHelper.access$19(this.this$0, maxX - minX); CapturerHelper.access$20(this.this$0, maxY - minY); CapturerHelper.access$21(this.this$0).drawRectangle(CapturerHelper.access$2(this.this$0), CapturerHelper.access$3(this.this$0), CapturerHelper.access$4(this.this$0), CapturerHelper.access$5(this.this$0)); } } public void mouseMoved() { CapturerHelper.access$21(this.this$0).drawCross(e.getX(), e.getY()); } }); cp.add("Center", this.labFullScreenImage); this.dialog.setCursor(Cursor.getPredefinedCursor(1)); this.dialog.setAlwaysOnTop(true); this.dialog.setMaximumSize(Toolkit.getDefaultToolkit().getScreenSize()); this.dialog.setUndecorated(true); this.dialog.setSize(this.dialog.getMaximumSize()); this.dialog.setModal(true); } public static CapturerHelper getInstance() { return CPAUTERHELPER; } public void captureImage() { this.fullScreenImage = this.robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); ImageIcon icon = new ImageIcon(this.fullScreenImage); this.labFullScreenImage.setIcon(icon); this.dialog.setVisible(true); } public BufferedImage getPickedImage() { return this.pickedImage; } public ImageIcon getPickedIcon() { return new ImageIcon(getPickedImage()); } public void saveAsPNG(File file) throws Exception { ImageIO.write(getPickedImage(), "png", file); } public void saveAsJPEG(File file) throws Exception { ImageIO.write(getPickedImage(), "JPEG", file); } public void write(OutputStream out) throws Exception { ImageIO.write(getPickedImage(), this.defaultImageFormater, out); } }
2 楼
amos_tl
2011-06-12
CapturerHelper.class
可能你的桌面的名字不是"桌面".你可以编译下CapturerHelper这个类,来指定其它目录.
public static void main(String[] args) throws Exception { String userDir = System.getProperty("user.home"); File tempFile = new File(userDir + "\\桌面\\" + DateHelper.format("dd-HH-mm-ss") + ".jpg"); CapturerHelper capturer = getInstance(); capturer.captureImage(); capturer.saveAsJPEG(tempFile); ClipboardHelper.setImage(capturer.getPickedImage()); System.exit(0); }
可能你的桌面的名字不是"桌面".你可以编译下CapturerHelper这个类,来指定其它目录.
1 楼
wanggod
2011-06-12
怎么指定保存路径,默认放在桌面上报了FileNotFoundException
发表评论
-
[JMX] jconsole client
2014-12-19 03:26 967jconsole client --------------- ... -
Apache ActiveMQ 入门
2014-11-22 17:53 0Apache ActiveMQ -------------- ... -
tomcat 编译
2014-08-30 15:31 9351. 下载源码 http://svn.apache.org/ ... -
MINA
2014-06-19 12:58 1043MINA(Multipurpose Infrastructur ... -
[Activiti] Activiti in action
2014-01-01 12:19 1097Activiti in action ------------ ... -
elasticsearch 入门
2013-09-10 14:59 0elasticsearch -- 1 安装 1.1 ... -
文本搜索工具
2013-07-18 16:12 997文本搜索工具 本工具可用于搜索文本内容,并增强了JAR文件内 ... -
[Maven]Nexus 安装与配置
2012-06-02 08:00 78681 下载Nexus http://www.sonatype.o ... -
Quartz CronExpression
2011-10-23 19:39 1447CronExpression ================ ... -
Quartz
2011-10-22 19:21 2873Quartz ========= 1 官网: http:// ... -
将数字转换成中文字符串
2011-10-22 17:08 1702将数字转换成中文字符串 ----------------- ... -
Jakarta ORO
2011-10-09 07:44 2086Jakarta-ORO 是一个Java工具包用来在 Java ... -
DTD 教程
2011-10-01 18:31 1275DTD 教程 -------------- 文 ... -
JAD 的使用
2011-09-08 11:24 1160JAD 的使用 ================ 1. 安装 ... -
FreeMarker 入门
2011-09-04 20:08 1242FreeMarker 入门 ================= ... -
Struts2 启动过程
2011-09-03 00:04 1149Struts2 启动过程: 2 与 3 的顺序应该颠倒 ... -
JAVA 泛型
2011-08-31 08:20 1322JAVA 泛型 ----------- 下面代码解释: 类泛型 ... -
ANT build.dtd
2011-08-30 14:39 1275ANT build.dtd Eclipse 配置自动提示: ... -
Log4j 日志框架入门
2011-08-28 19:43 22221 讨论组: log4j-user@jakarta.apach ... -
Schema Export
2011-08-25 18:26 1097build.xml <?xml version ...
相关推荐
在本项目中,"基于Java的QQ屏幕截图工具的设计与实现"是一个实用的软件开发案例,它展示了如何利用Java编程语言来创建一个功能类似于QQ的屏幕截图应用。这个项目不仅适用于学习Java编程的新手,也适合那些正在寻找...
Java屏幕截取工具是一款完全由Java编程语言编写的实用程序,它允许用户捕获和处理他们的计算机屏幕。这款工具的核心功能包括屏幕截图以及将截图保存或复制到写字板上,方便进一步编辑和分享。在深入探讨这个工具的...
Java屏幕截屏工具是利用Java编程语言开发的一款实用程序,主要功能是在用户的计算机屏幕上选取特定区域并进行截图。这个工具是在Eclipse 4.2.1集成开发环境中编写的,这是Java开发者常用的一个IDE,提供了丰富的代码...
标题中的“抓屏幕工具长截图专用”表明这是一个专注于捕捉屏幕并支持长截图功能的软件。在信息技术领域,屏幕截图工具是日常工作中非常实用的辅助工具,尤其对于文档编写、问题报告、教学演示等场景,能够方便地记录...
《ScreenShotTool:基于Java实现的屏幕截图工具详解》 在信息技术领域,屏幕截图工具是日常工作中不可或缺的辅助软件,它们能快速捕获并保存屏幕上的图像信息。本篇文章将深入探讨一个名为"ScreenShotTool"的开源...
QQ截图单机版是一款独立的屏幕截图工具,它与腾讯QQ内置的截图功能相同,无需安装,便于用户随时随地进行快捷的屏幕捕捉。这款绿色软件在功能上提供了丰富的截图选择,帮助用户高效地完成屏幕图像的抓取和编辑,是...
【s40 5.0版JAVA手机实用工具】是一系列专为诺基亚S40第五版手机设计的应用程序,这些工具旨在提高用户在移动设备上的操作效率和便利性。JAVA(Java ME)是一种跨平台的编程语言,广泛应用于移动设备,尤其是非智能...
综上所述,这款Java版桌面画图工具充分利用了Java的跨平台能力和丰富的API,实现了便捷的截图、绘图、标记及保存等功能,为用户提供了一个高效、直观的桌面编辑环境。对于开发者而言,它是Java图形编程的一个良好...
【代码截图工具 ( Java Swing )】是一款专为Java开发者设计的实用工具,它结合了代码高亮和截图功能,使得在论坛或者文档中分享代码变得更加便捷。这款工具使用了Java Swing作为图形用户界面(GUI)的开发框架,提供...
屏幕截图并保存为jpg是一种常见的计算机操作,尤其在软件演示、教学材料制作或者问题记录时非常实用。在本文中,我们将深入探讨如何实现这一功能,包括使用编程语言自动化这一过程,以及可选的第三方工具。 首先,...
总结起来,这个小工具结合了Java的图像处理能力、GUI编程、JNI技术以及第三方库的集成,提供了一种实用的方式来实时查看和控制屏幕RGB值。学习和理解这个工具的实现,对于提升Java编程技能,尤其是与操作系统交互和...
屏幕取色工具是一款实用的软件应用,主要用于帮助用户从屏幕上精确选取颜色,并提供相应的色彩代码,以便在设计、编程或日常使用中复制和使用这些颜色。在这个特定的案例中,我们讨论的是一个基于Java编写的屏幕取色...
【编程作业】-QQ屏幕截图工具的设计与实现 在计算机科学和信息技术领域,软件开发是一项核心技能,而设计和实现一款实用的工具是提升这项技能的重要途径。本资源专区内提供的"QQ屏幕截图工具的设计与实现"课程设计...
“截图软件”是用来捕获计算机屏幕图像的工具,用户可以通过截图软件快速记录屏幕上的内容,例如制作教程、分享问题或保存重要信息。截图软件通常有多种模式,如全屏截图、窗口截图、自定义区域截图等,有的还提供了...
在探讨“JAVA窗体多屏幕显示的问题”时,我们深入分析了如何在Java环境中处理多显示器设置下的窗体展示问题,特别...未来,随着技术的发展,Java及其GUI框架将继续演进,为开发者提供更加丰富和强大的多屏幕支持工具。
《NoJava电子书制作工具 Beta1.5》是一款专为解决手机阅读问题而设计的实用软件,它能够将TXT格式的文本文档转换成JPG或GIF图像文件,以便于那些无法直接下载或阅读电子书的手机用户进行浏览。这款工具的出现,极大...
JavaEE源码QQ屏幕截图工具不仅提供了一个实用的屏幕截图功能,而且对于学习JavaEE开发和数据库管理的开发者来说,也是一份宝贵的参考资料。通过研究其源代码和文档,开发者可以深入理解B/S架构下如何实现屏幕截图...