我有一个第三方 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/