我尝试在Android OpenGL ES中实现颜色选择。
我在这里得到坐标:
public boolean onTouchEvent(MotionEvent e) {
float x = e.getX();
float y = e.getY();
...
在这里,我想获得点击的像素信息:
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),这有什么不对?如何正确设置颜色和颜色?
任何人都可以帮助我吗?谢谢!
答案 0 :(得分:0)
试试这个: gl.glReadPixels((int)clickPosX,(int)clickPosY,1,1,GL10.GL_RGBA,GL10.GL_UNSIGNED_BYTE,pixel); byte [] b = new byte [4];