【问题标题】:Capture the layout of a Java program [closed]捕获Java程序的布局[关闭]
【发布时间】:2013-07-21 10:22:20
【问题描述】:

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

【问题讨论】:

标签: java


【解决方案1】:

查看Screen Image 以创建任何组件的图像。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:
        Robot robot = new Robot();
        
        BufferedImage screenShot = robot.createScreenCapture( guiObject.getBounds() );
        
        ImageIO.write(screenShot, "JPG", new File("myScreenShot.jpg"));
        

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

        编辑:

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

        【讨论】:

        • -1,3小时前给出的答案都显示了如何使用Robot类。无需用重复的建议使论坛混乱。
        • 您发布了一个链接并称之为完成。我解决了。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-12
        相关资源
        最近更新 更多