我试图让用户触摸图像,然后基本上是一个圆环形放大镜将显示,让用户更好地选择在图像上的某个区域。 当用户释放触摸放大部分将dissapear。 这是用来在几个照片编辑应用程序,我想实现我自己的版本。 我有下面的代码做放大的ImageView的圆形部分,但不会删除或清除缩放一次我释放我的手指。 我目前使用设置位图以一个帆布canvas = new Canvas(bitMap);
然后设置使用的ImageView takenPhoto.setImageBitmap(bitMap);
我不知道如果我要它的正确途径。 该onTouch代码如下:
zoomPos = new PointF(0,0);
takenPhoto.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
zoomPos.x = event.getX();
zoomPos.y = event.getY();
matrix.reset();
matrix.postScale(2f, 2f, zoomPos.x, zoomPos.y);
shader.setLocalMatrix(matrix);
canvas.drawCircle(zoomPos.x, zoomPos.y, 20, shaderPaint);
takenPhoto.invalidate();
break;
case MotionEvent.ACTION_MOVE:
zoomPos.x = event.getX();
zoomPos.y = event.getY();
matrix.reset();
matrix.postScale(2f, 2f, zoomPos.x, zoomPos.y);
canvas.drawCircle(zoomPos.x, zoomPos.y, 20, shaderPaint);
takenPhoto.invalidate();
break;
case MotionEvent.ACTION_UP:
//clear zoom here?
break;
case MotionEvent.ACTION_CANCEL:
break;
default:
break;
}
return true;
}
});