2012-02-19 17 views
0

私はAndroid OpenGL ESでカラーピッキングを実装しようとしています。なぜglReadPixelsメソッドは常にRGB(0、0、0)を取得する

ここで私は座標を取得:

public void processPick(GL10 gl){ 
    ByteBuffer pixel = ByteBuffer.allocate(4); 
    pixel.order(ByteOrder.nativeOrder()); 
    gl.glReadPixels((int)clickPosX, (int)clickPosY, 1, 1, GL10.GL_RGB, GL10.GL_UNSIGNED_BYTE, pixel); 
    byte[] b = new byte[3]; 
    pixel.get(b); 
    Log.d("buffer", b[0] + ", "+b[1]+", "+b[2]); 
} 

しかし、実際に私は常にRGB(0、0、0)、何を得る:私はクリックでピクセル情報を取得したい

public boolean onTouchEvent(MotionEvent e) { 
    float x = e.getX(); 
    float y = e.getY(); 
    ... 
ここ

違う?色を設定して色を正しく選択する方法は?

誰でも手伝ってもらえますか?ありがとう!

答えて

0

これを試してください: gl.glReadPixels((int)clickPosY、(int)clickPosY、1、1、GL10.GL_RGBA、GL10.GL_UNSIGNED_BYTE、ピクセル); バイト[] b =新しいバイト[4];

関連する問題