3

我想知道如何在Pixmap中获取FrameBufferPixel

我知道我必须使用getFrameBufferPixels(true)

但是不知道要放什么参数

new Pixmap(byte[] encodedData, int offset, int len);

你能告诉我一个应该工作的例子吗?

谢谢

4

1 回答 1

8
new Pixmap(byte[] encodedData, int offset, int len);

据我所知,encodedData 需要保存来自 png、jpg 或 bmp 文件的数据,包括文件头。您从 getFrameBufferPixels 收到的数据采用 RGBA8888 格式。因此,您不能将此构造函数用于屏幕截图。相反,我会尝试这样的事情:

byte[] pixelData = ScreenUtils.getFrameBufferPixels(true);
Pixmap pixmap = new Pixmap(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), Format.RGBA8888);
ByteBuffer pixels = pixmap.getPixels();
pixels.clear();
pixels.put(pixelData);
pixels.position(0)
于 2013-05-26T12:08:59.180 回答