एक ताना सिर्फ एक "एकल बिंदु" पर लेकिन कुछ क्षेत्र है कि आप एक चिकनी रास्ते में ख़राब खत्म नहीं हुआ है।
इसे प्राप्त करने के लिए, आपको समन्वय के ज्यामितीय परिवर्तन की आवश्यकता है जो स्पर्श बिंदु के कुछ पड़ोस में काम करता है। ऐसा करने का एक तरीका छवि पर एक स्क्वायर ग्रिड लगाने और अपने कुछ कानूनों के साथ छूने वाले बिंदुओं के चारों ओर ग्रिड नोड्स को स्थानांतरित करना है (उदाहरण के लिए, सभी नोड्स में एक विस्थापन वेक्टर लागू करें, एक क्षय कारक के साथ, जैसे दूर नोड्स डॉन हिलना नहीं है)।
फिर आपको एक पुनरावृत्ति समारोह की आवश्यकता है जो प्रत्येक पिक्सेल के नए निर्देशांक की गणना करता है और स्रोत पिक्सेल के रंग की प्रतिलिपि बनाता है।
अच्छे परिणामों के लिए, आपको वास्तव में रिवर्स में काम करना होगा: गंतव्य छवि को स्कैन करें और प्रत्येक पिक्सेल के लिए स्रोत निर्देशांक और स्रोत पिक्सल पुनर्प्राप्त करें। एलियासिंग से बचने के लिए बिलीनेर या बाइबिक रीसाम्पलिंग लागू करें।
कार्यान्वयन की आसानी के लिए, ग्राउंडिंग विचार को भी अनुकूलित किया जाना चाहिए: गंतव्य ग्रिड को विकृत करने के बजाय, इसे अपरिवर्तित रखें और स्रोत ग्रिड में व्यस्त विकृति लागू करें।
अंतिम बात: ग्रिड दृष्टिकोण में, ग्रिड नोड्स के विस्थापन को दो स्केलर फ़ंक्शन डीएक्स (i, j) और DY (i, j) के रूप में देखें जिन्हें आप अलग से संभाल सकते हैं। नोड्स पर विस्थापन के ज्ञान से, आप इंटरपोलेशन द्वारा किसी भी पिक्सेल के विस्थापन का अनुमान लगा सकते हैं (बाइबिक यहां उपयुक्त होगा)।
स्रोत
2017-07-19 08:46:37
के साथ कुछ और उसका: https://stackoverflow.com/questions/9237924/how-to-warp-images-in-android –
इसे देखें: [छवि को कैसे वार करें] (https://stackoverflow.com/questions/9237924/how -to-warp-images-in-android) –
इसके साथ किया गया है जो मेरे अपवादों तक काम नहीं करता है, युद्ध के राज्यों को बचाने में यह आसान है। –