这就是我打算制作的方式:
将有一个带有开始和停止按钮的小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));
}
如果你能解释我上面提到的关于我的问题的代码。
答案 0 :(得分:1)
在屏幕截图中获取光标的解决方案是: 弄清楚光标的位置。
java.awt.MouseInfo.getPointerInfo().getLocation()
并将光标的渲染图像放在屏幕截图的顶部。 看看这个:http://docs.oracle.com/javase/tutorial/2d/images/index.html