screenshot - xwd/java.awt.Robot 捕获黑色窗口(除了 unity2d shell 之外的所有内容都是黑色的)

标签 screenshot java ubuntu-unity

今天,我遇到了奇怪的问题:java.awt.Robot 捕获黑色区域,而不是图像内容。我使用的是 Ubuntu 12.04 和 OpenJDK6/7。

UNIX 上的

java.awt.Robotsun.awt.X11.XRobotPeer 支持, 其中,继 corresponding OpenJDK sources ,使用与 xwd utililty 使用的图像抓取函数类似的函数(第 92-162 行)。

因此,我运行了以下命令:

xwd -root -out test.screen.root.xwd

然后用gimp打开这个文件。这是我得到的:

enter image description here

然后我尝试了:

xwd -root | xwdtopnm | pnmtopng > Screenshot.root.png

我得到了以下结果: 控制台输出:

xwdtopnm: writing PPM file
libpng warning: Invalid sBIT depth specified

以及图像本身: enter image description here

什么可能导致这种情况?我该如何修复它?

最佳答案

似乎解决此问题的唯一方法是使用您自己的屏幕截图 native 实现。

以下是 Unity 开发人员对启动板问题的详细描述:launchpad conversation .

问题在于 unity-2d 绘制自身的方式以及 XShaping 的使用。

关于screenshot - xwd/java.awt.Robot 捕获黑色窗口(除了 unity2d shell 之外的所有内容都是黑色的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13493765/

相关文章:

c# - 如何在 GTK# 中使用 Ubuntu Unity 全局菜单?

ios - 屏幕截图不会拍摄 3D 内容

java - 如何停止等待用户输入?

java - 在 bfs 树中查找节点的高度

java - 我想在 td 中放置一个动态值,在一个表中有很多 td,但我想将该值放置在特定的 td 中

Python AppIndicator 绑定(bind) -> 如何检查菜单是否打开?

ubuntu - Pyglets Window.on_key_press 和 Window.on_key_release 受 ubuntu 12.10 上键重复的影响,统一

c# - 如何截取WPF控件的屏幕截图?

python - 使用 Python 后台脚本捕获屏幕截图并保存到文档

swift - 截图并使用分享按钮分享