0

スクリーンショットを撮るために LWJGL wiki を見ていると (ここにあります) 、赤、緑、青、およびアルファにそれぞれ 1 バイトの 32 ビット ディスプレイを仮定するというコメントに気付きました。このコードでは:

GL11.glReadBuffer(GL11.GL_FRONT);
int width = Display.getDisplayMode().getWidth();
int height= Display.getDisplayMode().getHeight();
int bpp = 4; // Assuming a 32-bit display with a byte each for red, green,
//blue, and alpha.
ByteBuffer buffer = BufferUtils.createByteBuffer(width * height * bpp);
GL11.glReadPixels(0, 0, width, height, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, buffer );

現在のシステムに基づいて var bppを変更するにはどうすればよいですか?

4

1 に答える 1

2

まだ答えを探している場合:

LWJGL の Display クラスから取得することにより、現在の表示モードのピクセルあたりのバイト数を取得できます。次のようになります。

int bpp = Display.getDisplayMode().getBitsPerPixel()/4
于 2013-06-27T20:08:34.653 に答える