通过在 Stack Overflow 上遵循这个解决方案,我提出了以下 Java 类:
public final class Screenshot {
private static byte[] pixels;
private static Pixmap pixmap;
public static void take() {
pixels = ScreenUtils.getFrameBufferPixels(0, 0,
Gdx.graphics.getBackBufferWidth(),
Gdx.graphics.getBackBufferHeight(),
true);
pixmap = new Pixmap(Gdx.graphics.getBackBufferWidth(),
Gdx.graphics.getBackBufferHeight(),
Pixmap.Format.RGBA8888);
BufferUtils.copy(pixels, 0, pixmap.getPixels(), pixels.length);
PixmapIO.writePNG(Gdx.files.external("./screenshot_" + new Date().getTime() + ".png"), pixmap);
pixmap.dispose();
pixels = null;
}
}
调用Screenshot().take()
将获取 LibGDX 渲染缓冲区并将其转储到 PNG 文件中。正是我想要的。
我的问题是是否有“捕获”打印屏幕按钮的好方法。有我可以使用的打印屏幕键码吗?