Search code examples
androidandroid-canvasrectangles

I need to Draw a rectangle over image with touch event


I need to draw a rectangle over an image so that user can select a specific part of that image when the user selects a rectangular part must be drawn over it.

for example say if the user wants click image if a parking lot then user can draw rectangle on parking space


Solution

  • You have to override the onDraw() method on your view (ImageView), get the canvas and draw a rectangle. Something like that:

    @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint myPaint = new Paint();
            int left = 10; // left padding from your view left border
            int top = 10; // top padding from your view top border
            int rectWidth = 50;
            int rectHeight = 30;
            myPaint.setColor(Color.rgb(0, 0, 0));
            myPaint.setStrokeWidth(10);
            canvas.drawRect(left, top, left + rectWidth, top + rectHeight, myPaint);
        }