我在 GLSurfaceView 上显示 2D 图像并希望以特定角度旋转它(即 180 ,75,360 ...)
我在触摸事件中编写了以下代码。(这里 GPUImageView 扩展了 GLSurfaceView )并且我从处理两个手指旋转手势的 Rotate Gesture Detector 类中获得了变量 rotationDegree 的值。下面的代码旋转 GLSufaceview,但 GLSurfaceView 中显示的内容/iamge 保持不变(不在其中旋转)。android有例子,但它们是用于3D而不是旋转度数。
@Override
public boolean onTouchEvent(MotionEvent event)
{
rotationDetector.onTouchEvent(event);
/* Rotate View Here */
GPUImageView.this.setRotation(rotationDegree);
requestRender();
return true;
}
我有我的自定义旋转检测器类,它调度与两个手指旋转相关的事件
private class RotateListener extends RotateGestureDetector.SimpleOnRotateGestureListener
{
@Override
public boolean onRotate(RotateGestureDetector detector)
{
rotationDegree -= detector.getRotationDegreesDelta();
return true;
}
}