3

ピックスマップで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 に答える