1
今天,我遇到了一个奇怪的问题:java.awt.Robot
捕获黑色区域,而不是图像内容。我使用Ubuntu 12.04和OpenJDK6/7。xwd/java.awt.Robot捕获黑色窗口(除了unity2d外壳以外的所有东西都是黑色的)
java.awt.Robot
在Unix由sun.awt.X11.XRobotPeer
, 其中,继corresponding OpenJDK sources,使用图像采集类似的那些功能,通过xwd
utililty(行92-162)中使用的支持。
所以,我跑以下命令:
xwd -root -out test.screen.root.xwd
,然后打开该文件与瘸子。下面是我得到:
然后我尝试:
xwd -root | xwdtopnm | pnmtopng > Screenshot.root.png
而且我得到以下结果: 控制台输出:
xwdtopnm: writing PPM file
libpng warning: Invalid sBIT depth specified
而且图像本身:
什么会导致这种情况?我该如何解决它?
我会在Oracle的官方JDK上试试你的代码,如果这样做不起作用,那么就在Oracle的官方JDK上的Windows上试试它。如果其中任何一个使用您的代码,然后提交错误报告。无论是反对openJDK还是官方的。如果这些代码都不能用于你的代码,那么修复你的代码。 – Bill
我在OpenJDK6/7和OracleJDK6/7上试过。这是Ubuntu-linux唯一的问题。机器人在Windows上按预期工作。 –
统一标签用于Microsoft Unity。请不要滥用它。 –