首页 > 解决方案 > 从跟踪线获取 x 和 y 坐标到矩阵中以用于计算

问题描述

我试图弄清楚如何在画布上绘制/跟踪一条线并使用这些坐标计算均方根误差后获取 x 和 y 位置。我在显示要跟踪的行时也遇到问题。到目前为止,我只能编写用于捕获触摸的代码。任何有关如何进行的帮助或提示将不胜感激。谢谢!TouchEventView.java 代码如下:

package com.example.myapplication;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;

import static android.graphics.Color.BLACK;

public class TouchEventView extends View {
    private Paint paint = new Paint();
    private Path path = new Path();

    public TouchEventView(Context ctx, AttributeSet attrs){
        super(ctx, attrs);
        paint.setAntiAlias(true);
        paint.setColor(Color.RED);
        paint.setStrokeJoin(Paint.Join.ROUND);
        paint.setStyle(Paint.Style.STROKE);
        paint.setStrokeWidth(5f);
        this.setBackgroundColor(Color.WHITE);

    }

    @Override
    protected void onDraw(Canvas canvas){
        canvas.drawPath(path, paint);
    }
    @Override
    public boolean onTouchEvent(MotionEvent event){
        float xPos = event.getX();
        float yPos = event.getY();

        switch(event.getAction()){
        case MotionEvent.ACTION_DOWN:
            path.moveTo(xPos, yPos);
            return true;
            case MotionEvent.ACTION_MOVE:
                path.lineTo(xPos, yPos);
                break;
            case MotionEvent.ACTION_UP:
                break; //finger lifted do nothing
            default:
                return false;


        }
        //schedule repaint
        invalidate();
        return true;
    }
}

标签: javaandroid-studio

解决方案


推荐阅读