2011-11-01 16 views
7

क्या माउस आंदोलनों को सुगम बनाने का कोई तरीका है? मैं हाथ से चलने वाले सामान्य माउस में सभी छोटे जिटर को हटाना चाहता हूं, जैसे कि आप कभी भी पेंट में एक साफ रेखा नहीं खींच सकते हैं क्योंकि आप छोटे झटकेदार आंदोलनों को हाथ में रखते हैं।माउस आंदोलनों को सामान्य और चिकनी करें?

यह समझना मुश्किल हो सकता है कि मेरा क्या मतलब है, लेकिन यदि आप ज़ब्रश को जानते हैं तो उनके पास एक ऐसी सुविधा है जिसे आलसी माउस http://www.pixologic.com/docs/index.php/Lazy_Mouse कहा जाता है, मैं अपने ऐप के अंदर इसे फिर से बनाने के लिए एक तरीका ढूंढ रहा हूं। मैं Cursor.Position के साथ माउस की स्थिति पढ़ सकता हूं लेकिन मुझे स्क्रीन पर पॉइंटर पर भेजने से पहले इन नंबरों को औसत करने का कोई तरीका नहीं मिला है।

+0

जो वे नहीं करते हैं ... वे "स्क्रीन पर भेजे जाने से पहले" संख्याओं को नहीं बदलते हैं ... वे बस ब्रश पेंट्स के लिए उन्हें समझते हैं ... आपका लक्ष्य वास्तव में क्या है? – Yahia

+1

एक रेखा सरल है, बस पहले और अंतिम बिंदु रिकॉर्ड करें। आपको अधिक जटिल आकारों के लिए वक्र फिटिंग की आवश्यकता है। गणित बालों वाली हो सकती है। –

+0

मेरा लक्ष्य माउस के साथ ड्राइंग में मेरी मदद करने के लिए एक छोटा सा ऐप बनाना है, जो माउस को घुमाने पर हाथियों को छोटे जिटर के औसत से अलग करता है। मैं यही सोच रहा हूं कि मैं माउस से भेजे गए नंबरों को कहां उठा सकता हूं और स्क्रीन पर भेजे जाने से पहले उन्हें कुशल बना सकता हूं। – Darkmage

उत्तर

2

यह केवल तभी संभव है जब आप माउस आंदोलन के प्रभाव में थोड़ा देरी कर सकें। आप एक निश्चित आवृत्ति पर माउस आंदोलन के अंक रिकॉर्ड करते हैं और फिर उन्हें एक पंक्ति में औसत करते हैं। फिर जो कुछ भी आपको चाहिए उसे खींचने के लिए उस लाइन का उपयोग करें। आप सीधे माउस कर्सर को औसत स्थिति में सेट करने में सक्षम नहीं होंगे क्योंकि इससे आपके प्रोग्राम में एक नए माउस आंदोलन के रूप में प्रतिक्रिया होगी।

सुनिश्चित करें कि आप इसे बनाते हैं ताकि आप माउस आंदोलन में कितनी देर तक देरी कर सकें, और औसत कितना आक्रामक है (इसमें शामिल अंकों की संख्या को प्रतिबंधित करके कहें), और आवृत्ति जिस पर आप माउस आंदोलनों को रिकॉर्ड करते हैं (यह सीपीयू उपयोग को प्रभावित कर सकता है अगर यह अक्सर होता है)।

आपको निश्चित रूप से अपने आवेदन में माउस के लिए कुछ प्रकार का अमूर्तता बनाना होगा और एप्लिकेशन को पकड़ने के लिए एक तरीका बनाना होगा। (मैं इसे सामान्य Winforms/wpf के समान जितना संभव रखने की कोशिश कर रहा हूं, इसलिए मैं परिवर्तन को वापस कर सकता हूं और आवश्यकता होने पर सीधे माउस आंदोलन का उपयोग कर सकता हूं)।

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