我想知道如何获取整个当前屏幕的位图。我想检查所选像素的 RGBA 值。我的代码无法正常工作:
public class PixmapTest implements Screen
{
//(...)
private float getRedValue(int x, int y)
{
Pixmap pixmap = new Pixmap(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), Pixmap.Format.RGBA8888);
Color color = new Color();
Color.rgba8888ToColor(color, pixmap.getPixel(x,y));
pixmap.dispose();
return color.r;
}
@Override
public void render()
{
Gdx.gl.glClearColor(1f, 0f, 0f, 1f);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
System.out.println(getRedValue(50, 50));
}
}
在我看来,getRedValue 方法应该返回 1.0,但它返回了 0.0。对于不专业的问题,我深表歉意。我也是 Libgdx 和游戏开发的新手。
最佳答案
最简单的方法是使用 ScreenUtils 包,例如
Image screenShot = new Image(ScreenUtils.getFrameBufferTexture());
关于android - 如何使用 Libgdx 获取整个屏幕的位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17340393/