0

如何捕获 Java 程序显示的 GUI 的一部分。我的程序会根据用户输入生成某些需要捕获的图形。我需要在 GUI 上提供一个按钮来将图形保存为图像文件。

4

4 回答 4

3

查看屏幕图像以创建任何组件的图像。

于 2013-07-20T23:17:39.523 回答
2

您可以使用 BufferedImage 类来捕获它。只需使用paint方法将图形组件的内容写入Bufferedmage对象即可。然后使用 ImageIO.write() 方法将图像写入文件。这是其教程的链接。

http://sleepingthreads.blogspot.in/2013/07/capture-screenshotpart-of-java-gui.html

于 2013-07-20T23:20:27.677 回答
0

如果您使用的是 JFrame,则可能需要查看 createImage 方法。该方法也与 JPanel 兼容。

于 2013-07-21T01:50:23.023 回答
-1
Robot robot = new Robot();

BufferedImage screenShot = robot.createScreenCapture( guiObject.getBounds() );

ImageIO.write(screenShot, "JPG", new File("myScreenShot.jpg"));

其中 guiObject 是您想要的组件,而 getBounds() 返回一个 Rectangle。

编辑:

getBounds() 必须返回屏幕坐标。或者你做一些数学来做到这一点。

于 2013-07-21T02:08:42.703 回答