【问题标题】:how to recognise character drawn on canvas如何识别画布上绘制的字符
【发布时间】:2012-12-17 12:21:40
【问题描述】:

我正在用手指画线,到目前为止我已经想出了以下代码:

 case MotionEvent.ACTION_MOVE:
    //return if touch is in this area of canvas
    if (x<=430 || y<=80 || y>=490) return true;
    //draw path using x and y co-ordinates
    mPath.quadTo(previousPoint.x, previousPoint.y, (x+previousPoint.x)/2,(y+previousPoint.y)/2);
    canvas.drawPath(mPath, paint);
    previousPoint.x = x;
    previousPoint.y = y;
    //invalidate canvas on move
    imageView.invalidate();
    break;
case MotionEvent.ACTION_UP:
    Xend=x;
    Yend=y;
    //validate that is it true?
    if((Xstart>=780 && Xstart<=830) && (Xend>=780 && Xend<=830) && (Ystart>=10 && Ystart<=200) && Yend<=800 && Yend>=300){
    //show toast if correct
    Toast.makeText(getBaseContext(), "Correct", Toast.LENGTH_SHORT).show();
    }else{
    //show toast with XY co-ordinates that your attempt is wrong 
    Toast.makeText(getBaseContext(), "Wrong attempt\n Xstart: "+Xstart+"\n Xend:"+Xend+"\n Ystart: "+Ystart+"\nYend:"+Yend, Toast.LENGTH_SHORT).show();
    }
    imageView.invalidate();
    break;

但不幸的是,上面的代码不能满足我的要求。我想创建按字母顺序组织的工作表,用户通过触摸进行操作。我想知道他从哪里开始,他在哪里移动以及他在哪里结束以识别他在画布上绘制的内容,我知道从哪里获取接触点,但问题是如何识别画布上绘制的内容?想在 Playstore 上识别像这样的 VisionObjects 应用程序。

【问题讨论】:

  • 如果您对 android 中的某些内容有疑问,请先尝试在 apis 演示中寻找示例应用程序……这是一个很好的起点。这里有一个很好的例子来处理android中的触摸。这是路径 ..\android-sdk-windows\samples\android-10\ApiDemos\src\com\example\android\apis\graphics\FingerPaint.java
  • 上面的代码有什么意义(你自己写的吗?),如果它与你的要求无关?我在理解实际问题时也遇到了问题:您只是想跟踪触摸动作吗?比如用户触摸屏幕(开始),手指向左移动5cm(移动),然后let's go(结束)?
  • 是的 zainodis 你是对的,这是我的要求。我想知道手指的运动,我想跟踪它。
  • 请参阅stackoverflow.com/questions/15987703/…,了解如何跟踪(并在画布中绘制)用户手指移动的示例。

标签: android canvas touch-event text-recognition


【解决方案1】:

要跟踪您必须使用的三个事件:

  • MotionEvent.ACTION_DOWN 跟踪活动的开始地点。
  • MotionEvent.ACTION_MOVE 跟踪移动(滑动)。
  • MotionEvent.ACTION_UP 跟踪事件停止的位置。

this example。 In 展示了如何通过跟踪运动来绘制路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2023-03-14
    相关资源
    最近更新 更多