1

这就是我的计划:
将有一个带有开始和停止按钮的小型 JFrame,用于开始和停止录制。单击开始将启动一个线程,该线程将创建一个java.awt.Robot将重复屏幕截图的线程。
这是我的问题开始的地方。机器人确实会截屏,但是
1. 不会记录光标的位置
2. 我不知道图像将存储在哪里。我打算将它们存储在一个文件夹中,该文件夹的名称将使用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));

}  

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

4

1 回答 1

1

在截图中获取光标的解决方法是:找出光标的位置。

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

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

于 2012-08-09T15:38:59.990 回答