Это то, что вам нужно!Замените ваш ImageView (я предполагаю, что под изображением вы подразумеваете ImageView) для холста и нарисуйте его поверх холста! Здесь - это отличный учебник о том, как его использовать, и если вы не знаете, как использовать холст, я настоятельно рекомендую вам прочитать его целиком!
Чтобы рисовать при касании, создайтеПуть при касании и метод onDraw продолжайте рисовать свой путь!Я не написал следующий код, он был взят из здесь .
@Override
public boolean onTouchEvent(MotionEvent event) {
synchronized (_thread.getSurfaceHolder()) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
path = new Path();
path.moveTo(event.getX(), event.getY());
path.lineTo(event.getX(), event.getY());
}else if(event.getAction() == MotionEvent.ACTION_MOVE){
path.lineTo(event.getX(), event.getY());
}else if(event.getAction() == MotionEvent.ACTION_UP){
path.lineTo(event.getX(), event.getY());
_graphics.add(path);
}
return true;
}
}
@Override
public void onDraw(Canvas canvas) {
//Draw your image as bitmap
canvas.drawBitmap(your_image, 0, 0, null);
//Draw your path
for (Path path : _graphics) {
//canvas.drawPoint(graphic.x, graphic.y, mPaint);
canvas.drawPath(path, mPaint);
}
}
Удачи!