2013-01-03 26 views
6

पर तैयार की मैं उंगली रंग का उपयोग कर रहा लाइन आकर्षित करने के लिए चरित्र को पहचान करने के लिए कैसे, और अब तक मैं निम्नलिखित कोड के साथ आए हैं:कैनवास

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 ऐप की तरह पहचानना चाहता है। enter image description here

+0

यदि आपको एंड्रॉइड में कुछ के बारे में संदेह है तो पहले एपिस डेमो में नमूना ऐप की तलाश करने का प्रयास करें ... यह शुरू करने के लिए एक अच्छी जगह है। एंड्रॉइड में स्पर्श को संभालने के लिए यहां एक बहुत अच्छा उदाहरण है। यह पथ है .. \ android-sdk-windows \ samples \ android-10 \ apiDemos \ src \ com \ example \ android \ apis \ graphics \ FingerPaint.java – karn

+2

उपरोक्त कोड का बिंदु क्या है (क्या आपने स्वयं इसे लिखा था ?), अगर इसकी आपकी आवश्यकताओं के साथ कुछ लेना देना नहीं है? मुझे वास्तविक प्रश्न को समझने में भी समस्याएं हैं: क्या आप बस स्पर्श-गति को ट्रैक करना चाहते हैं? जैसे उपयोगकर्ता स्क्रीन (स्टार्ट) को छूता है, अपनी अंगुली 5 सेमी को बाईं ओर ले जाता है (आगे बढ़ता है) और फिर चलो (अंत)? उत्तर guyz के लिए – AgentKnopf

+0

thanx। – Hamad

उत्तर

0

तीन घटनाओं आप उपयोग करने के लिए ट्रैक करने के लिए:

  • MotionEvent.ACTION_DOWN ट्रैक करने के लिए जहां घटना शुरू कर दिया।
  • MotionEvent.ACTION_MOVE आंदोलनों को ट्रैक करने के लिए (स्वाइप)।
  • MotionEvent.ACTION_UP यह ट्रैक करने के लिए कि ईवेंट कहां रुक गया था।

this example देखें। दिखाता है कि आंदोलनों को ट्रैक करके पथ कैसे खींचा जाए।