Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中使用onTouchevent在图像上绘制矩形?_Android_Canvas_Touch Event - Fatal编程技术网

如何在android中使用onTouchevent在图像上绘制矩形?

如何在android中使用onTouchevent在图像上绘制矩形?,android,canvas,touch-event,Android,Canvas,Touch Event,如何使用onTouchEvent在图像上绘制矩形 但是矩形不会被图像视图重叠?这就是您需要的!将您的ImageView(我假设您的ImageView是指ImageView)替换为画布,并在画布上绘制它!这是一个关于如何使用它的很好的教程,如果你不知道如何使用画布,我强烈建议你通读它 要在触摸时绘制,请在触摸时创建路径,并在onDraw方法上继续绘制路径!我没有写下面的代码,它是从 祝你好运 这就是你需要的!将您的ImageView(我假设您的ImageView是指ImageView)替换为画布,

如何使用onTouchEvent在图像上绘制矩形


但是矩形不会被图像视图重叠?

这就是您需要的!将您的ImageView(我假设您的ImageView是指ImageView)替换为画布,并在画布上绘制它!这是一个关于如何使用它的很好的教程,如果你不知道如何使用画布,我强烈建议你通读它

要在触摸时绘制,请在触摸时创建路径,并在onDraw方法上继续绘制路径!我没有写下面的代码,它是从


祝你好运

这就是你需要的!将您的ImageView(我假设您的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);
  }
}