【问题标题】:I need to Draw a rectangle over image with touch event我需要使用触摸事件在图像上绘制一个矩形
【发布时间】:2018-05-11 13:52:08
【问题描述】:

我需要在图像上绘制一个矩形,以便用户选择该图像的特定部分时,必须在其上绘制一个矩形部分。

例如说如果用户想要在停车场点击图片,那么用户可以在停车位上绘制矩形

【问题讨论】:

    标签: android android-canvas rectangles


    【解决方案1】:

    您必须在视图 (ImageView) 上覆盖 onDraw() 方法,获取画布并绘制一个矩形。类似的东西:

    @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);
        }
    

    【讨论】:

    • 你可以看看这个链接,proandroiddev.com/android-draw-a-custom-view-ef79fe2ff54b 基本上你必须创建一个扩展 ImageView 的类,重写 onDraw() 方法,然后在你的 xml 布局中包含这个类跨度>
    • 感谢它的工作,但我想在 rine time 使用它可以创建它你知道任何方式吗,比如我可以使用手势在 4 个点上制作矩形,比如我们可以拖动它或移动它跨度>
    • 这是另一个话题,如果你想拖动矩形并根据用户手势重绘,你必须覆盖你的活动的 onTouchEvent() 方法。在这里了解更多详情:developer.android.com/training/gestures/scale
    • 如果您需要支持,请将回复标记为完成并打开另一个主题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    相关资源
    最近更新 更多