2013-06-28 2 views
1

Я пытаюсь использовать setRotation() на моем GLSurfaceView, но вид, кажется, не вращается вокруг оси, которая является центром экрана. код, как показано ниже:Как повернуть GLSurfaceView?

class MyGLSurfaceView extends GLSurfaceView { 
    private float mCurRotation = 0.0f; 

    @Override 
    public boolean onTouchEvent(MotionEvent e) { 
     mCurRotation = mCurRotation + 10; 
     setRotation(mCurRotation); 
    } 
} 

Есть ли какое-либо тело, которое знает причину и научит меня, как повернуть мой GLSurfaceView?

+0

показать мне код;) –

+0

привет, gab, код добавлен. – leoncheng

+0

Здесь размещен хороший ответ о том, как это сделать с помощью OpenGL: https://stackoverflow.com/questions/36703984/rotating-android-camera-preview-by-90-degrees-on-glsurfaceview-using-opengl-2 -0 –

ответ

1

Вопреки вашему ожиданию, методы View не работают.

GLSurfaceView пробивает отверстие для отображения под поверхностью. На самом деле он имеет только прозрачные пиксели.

Если вы хотите повернуть свое изображение, то вам нужно использовать OpenGL-операции.

+1

Большое спасибо, на самом деле мы используем opengl для решения проблемы в конце концов. – leoncheng

+1

Можете ли вы опубликовать, как вы решили проблему? Я в той же проблеме. – Kirtan