0
正如你可以看到當我在我的應用程序中使用canvas.drawpath()
我沒有得到一個用戶想要的結果。帆布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'方法和閱讀** **仔細'Matrix' API – pskink
時,我應該調用此方法.. – Device
當你必須做映射:視圖座標<->位圖座標 – pskink