0

OPENGL ESを使用して、iPhoneでPIE文字を描画しています。次に、ユーザーがクリックしたパイの色を確認する必要があります。パイをクリックすると、正しい値が返されることもあれば、正しくないこともあり、0,0,0が返されることもあります。

'(void)handleTap:(UITapGestureRecognizer *)レコグナイザー{

CGPoint lPoint = [レコグナイザーlocationOfTouch:0 inView:mGLView];

バイトaPixel[4]; glPixelStorei(GL_PACK_ALIGNMENT、1); glReadPixels(lPoint.x、lPoint.y、1、1、GL_RGBA、GL_UNSIGNED_BYTE、&aPixel [0]);

NSLog(@ "%i"、glGetError()); NSLog(@ "POINT X =%f Y =%f%d%d%d"、lPoint.x、lPoint.y、aPixel [0]、aPixel [1]、aPixel [2]); '

4

1 に答える 1

1

OpenGLでは、(0、0)は左下のピクセルです。iOSでは、左上のピクセルです。だからあなたは間違った場所から読んでいます。locationOfTouch:inViewを呼び出した後、追加したいと思います。

lPoint.y = mGLView.bounds.height - lPoint.y;
于 2010-11-14T19:23:42.217 に答える