我有一个问题已经困扰我两天了,由于我是新手,无法解决。实际上,我正在开发一个需要在Android ImageView上进行双指缩放和旋转的Android应用程序。我找到了多个教程和解决方案,可以很好地实现双指缩放,但对于双指旋转则不起作用。我分享了最简单易懂的教程,并希望将其扩展为双指旋转。以下是代码片段:
public class MainActivity extends Activity {
private ImageView mImageView;
private Matrix mMatrix = new Matrix();
private float mScale = 1f;
private ScaleGestureDetector mScaleGestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView = (ImageView) findViewById(R.id.imageView);
mScaleGestureDetector = new ScaleGestureDetector(this, new ScaleListener());
}
public boolean onTouchEvent(MotionEvent ev) {
mScaleGestureDetector.onTouchEvent(ev);
return true;
}
private class ScaleListener extends ScaleGestureDetector.
SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
mScale *= detector.getScaleFactor();
mScale = Math.max(0.1f, Math.min(mScale, 5.0f));
mMatrix.setScale(mScale, mScale);
mImageView.setImageMatrix(mMatrix);
return true;
}
}
}
我希望将它们用于GPUImage,也就是说,除了Android ImageView之外,我想使用GPUImage。如何将GPUImage转换为ImageView?这是第二件事。首先,我想实现双指旋转(或某种意义上的多点触控)。谢谢。