LeS*_*Sam 2 byte offset pixmap libgdx
我想知道如何在Pixmap中获取FrameBufferPixel
我知道我必须使用getFrameBufferPixels(true)
但我不知道要放入什么参数
new Pixmap(byte[] encodedData, int offset, int len);
Run Code Online (Sandbox Code Playgroud)
你能告诉我一个应该工作的例子吗?
谢谢
new Pixmap(byte[] encodedData, int offset, int len);
Run Code Online (Sandbox Code Playgroud)
据我所知,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)
Run Code Online (Sandbox Code Playgroud)