在我的网页上获取第三方小程序的“屏幕截图”

时间:2012-06-02 16:42:13

标签: java image applet screenshot awtrobot

我有一个第三方Java小程序,我将在我的网页中嵌入,但我无法访问小程序代码。

但我想在点击页面上创建一个按钮,这将创建applet的截图(但不是整个屏幕)。我尝试使用Robot类,但这将占用我不想要的整个屏幕

BufferedImage screencapture = new Robot().createScreenCapture(
    new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );

我正在查看网络并找到代码,但这些代码需要访问我没有的applet。

是否可以使用java来实现?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:1)

我至少看到两个选项。

第二小程序

  • 使用第二个小程序,使用AppletContext.getApplet(name)获取对小程序的引用。
  • 调用Applet.getLocationOnScreen()作为坐标。
  • 这是您的页面,因此除非使用百分比设置小程序大小,否则您知道要捕获的宽度x高度。
  • 使用套接字连接到桌面/ CLI应用程序。拍摄屏幕截图,或使用小程序拍摄屏幕截图。不管怎样,它都需要信任小程序。

扩展小程序

扩展原始applet&添加一个新方法来返回或导出当前applet表面的图像。有关示例,请参阅ComponentImageCapture.java

导出图像的选项:

  • 使用JWS部署applet - 使用JNLP文件API将映像导出到本地文件系统。
  • 使用更常见的JFileChooser / File对applet进行数字签名,将图片导出到本地文件系统。
  • 将其传回主机站点,这可以通过沙盒小程序完成。