【发布时间】:2015-09-23 12:06:55
【问题描述】:
正如您所见,当我在我的应用程序中使用canvas.drawpath() 时,我没有得到一个用户想要的结果。
看看我的手指在哪里,它在哪里画!
//Bitmap is the picture
imageview.setImageBitmap(bitmap);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(Color.Black);
paint.setStrokeWidth(50);
paint.setStyle(Paint.Style.STROKE);
path = new Path();
imageview.setOnTouchListener(this);
这里是 onTouchListener
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
path.moveTo(event.getX(), event.getY());
path.lineTo(event.getX(), event.getY());
canvas.drawPath(path, paint);
imageview.invalidate();
break;
case MotionEvent.ACTION_MOVE:
path.lineTo(event.getX(), event.getY());
canvas.drawPath(path, paint);
imageview.invalidate();
break;
case MotionEvent.ACTION_UP:
path.lineTo(event.getX(), event.getY());
canvas.drawPath(path, paint);
imageview.invalidate();
break;
case MotionEvent.ACTION_CANCEL:
break;
default:
break;
}
return true;
}
【问题讨论】:
-
查看
getImageMatrix方法并仔细阅读MatrixAPI -
我什么时候应该调用这个方法...
-
当你必须进行映射时:视图坐标位图坐标
-
不行,这行不通