用java制作截屏软件

时间:2012-08-09 15:31:52

标签: java awtrobot

这就是我打算制作的方式:
将有一个带有开始和停止按钮的小JFrame来开始和停止录制。单击开始将启动一个创建java.awt.Robot的线程,该线程将重复进行屏幕截图 这是我的问题开始的地方。机器人确实拍了截图但是 1.光标的位置不会被记录 我不知道图像的存储位置。我打算将它们存储在一个文件夹中,该文件夹的名称将使用java.util.Date确定 3.我不了解BufferedImage类一点。

我已完成制作JFrame并实现了该线程。我有从互联网上获得的包,将图像转换为avi电影 请帮我解决上面提到的三个问题。

已编辑:

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;

public void captureScreen(String fileName) throws Exception {

   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
   Rectangle screenRectangle = new Rectangle(screenSize);
   Robot robot = new Robot();
   BufferedImage image = robot.createScreenCapture(screenRectangle);
   ImageIO.write(image, "png", new File(fileName));

}  

如果你能解释我上面提到的关于我的问题的代码。

1 个答案:

答案 0 :(得分:1)

在屏幕截图中获取光标的解决方案是: 弄清楚光标的位置。

java.awt.MouseInfo.getPointerInfo().getLocation()

并将光标的渲染图像放在屏幕截图的顶部。 看看这个:http://docs.oracle.com/javase/tutorial/2d/images/index.html