java - 在我的网页中取一个3rd party applet的 "screenshot"

标签 java image applet screenshot awtrobot

我有一个第三方 Java 小程序,我打算将其嵌入到我的网页中但我无权访问该小程序代码。

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

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

我在网上查找并找到了代码,但这些代码需要访问我没有的小程序。

可以用java实现吗?如果是这样,怎么办?

最佳答案

我至少看到两个选择。

第二个小程序

  • 使用第二个小程序来获取对该小程序的引用,使用 AppletContext.getApplet(name) .
  • 调用 Applet.getLocationOnScreen()为坐标。
  • 这是您的页面,因此除非使用百分比设置小程序大小,否则您就知道要捕获的宽度 x 高度。
  • 使用套接字连接到桌面/CLI 应用程序。进行屏幕截图,或使用小程序进行屏幕截图。无论哪种方式,都需要信任该小程序。

扩展小程序

扩展原始小程序并添加一个新方法来返回或导出当前小程序表面的图像。请参阅ComponentImageCapture.java举个例子。

导出图像的选项:

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

关于java - 在我的网页中取一个3rd party applet的 "screenshot",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10864141/

相关文章:

java - 如何更高效地注释多个Stanford CoreNLP CoreDocuments?

java - Android/Java 中的 Apidaze REST API HTTP POST 调用

java - 在 Spring MVC 中选择性地绑定(bind)属性

html - 将图像背景放到 CSS 三 Angular 形上

image - 用于将 TIFF 图像转换为重命名的 JPEG 的 Powershell 脚本

java - 如何在打开 JFrame 的 Java Applet 中制作按钮?

java - 小程序中的主要方法替代

java - 使用 hashmap 和 arraylist 查找数字的因子

python - 如何在 OpenCV 2 中获取图像的 channel 数?

java - Applet 的替代品 - 客户端需要文件访问权限