gpt4 book ai didi

java - 通过按 Prt Scr 按钮在 LibGDX 中制作屏幕截图

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:41 24 4
gpt4 key购买 nike

关注this 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 文件中。正是我想要的。

我的问题是是否有一种“捕获”打印屏幕按钮的好方法。是否有我可以使用的打印屏幕键码?

最佳答案

似乎在 LibGDX 中你不能

检查键盘输入的方式是

    Gdx.input.isKeyPressed(key)

其中 key 是类 Keys 的对象其中不包括 prtscr 按钮

此外 - Keys 对象是整数,所以我试图通过检查找出 prtsrc 的按钮代码是什么:

    uiStage.addListener(new ClickListener()
{
@Override
public boolean keyDown(InputEvent event, int keycode)
{
System.out.println(keycode);
return true;
}
});

我的电脑上有 0。我已经通过打印

检查了 Keys 类中的 0
    System.out.println(Input.Keys.toString(42));

结果是未知。老实说,我很惊讶,但 LibGDX 似乎不支持 PRINT_SCREEN 按钮。

可能有一种方法可以省略 LibGDX 机制并使用平台特定函数来检查 prtsrc 是否被点击(互联网上说它的 ASCII 代码是 44)但是 LibGDX 本身的答案似乎是- 没有办法做到这一点。

关于java - 通过按 Prt Scr 按钮在 LibGDX 中制作屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35510247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com