2011-01-02 10 views
11

अगर मैं एक HTML कैनवास संदर्भ है और कार्य करें:एचटीएमएल कैनवास संदर्भ के लिए पथ पर वर्तमान बिंदु खोजें?

ctx.beginPath(); 
ctx.moveTo(10,10); 
ctx.lineTo(20,30); 
ctx.closePath(); 
ctx.stroke(); 

... एक लाइन 10,10 और 20,30 के बीच ली गई है। मान लीजिए मैं इस है:

ctx.beginPath(); 
ctx.moveTo(10,10); 
myFunction(ctx); 

वहाँ myFunction() के लिए किसी भी तरह से पता लगाने के लिए कि पथ 'कर्सर' 10,10 पर वर्तमान में है है?

+0

'कर्सर' के वर्तमान स्थान को जानने के लिए आपको मेरे फ़ंक्शन() की आवश्यकता क्यों होगी? ध्यान दें कि संदर्भ एक राज्य मशीन की तरह काम करता है। यदि आप मेरे काम पर "ctx.lineTo (20,30)" आदि कहते हैं, तो इसे काम करना चाहिए। –

+0

@bebraw क्योंकि मैं लिखना चाहता हूं ['ctx.dashTo (x, y, ...)'] (http://stackoverflow.com/questions/4576724/dotted-stroke-in-canvas/4577326#4577326); इसके लिए, मुझे यह जानने की जरूरत है कि मैं कहां हूं, जहां मैं रास्ते में विभिन्न बिंदुओं की गणना करने के लिए जा रहा हूं। – Phrogz

+0

राइटो। मुझे लगता है कि उस मामले में आप संदर्भ के लिए एक रैपर लागू करके बेहतर हो सकते हैं। आपको जिस डेटा की आवश्यकता है उसे बनाए रखें और एपीआई को अपनी पसंद के अनुसार बढ़ाएं। यदि आप चाहते हैं कि मैं आपको बेहतर शुरुआत करने के लिए एक सरल उदाहरण प्रदान कर सकूं। :) –

उत्तर

4

जहां तक ​​मुझे पता है कि विभिन्न सीटीएक्स विधियों (यानी इस मामले में स्थानांतरित) के लिए पारित तर्कों तक पहुंचने का कोई सीधा तरीका नहीं है। हालांकि, ऐसा करने के लिए आप कॉन्टेक्स्ट एपीआई को अपनी कक्षा में लपेट सकते हैं। संदर्भ के लिए [1] और [2] देखें।

संबंधित मुद्दे