ピックスマップでFrameBufferPixelを取得する方法を知っているのだろうか
getFrameBufferPixels(true)を使用する必要があることはわかっています
しかし、どのパラメーターを入れればよいかわかりません
new Pixmap(byte[] encodedData, int offset, int len);
誰が働くべきかの例を見せてもらえますか?
ありがとうございます
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)