मुझे कुछ कोड उदाहरण मिले, लेकिन मुझे नहीं पता कि मैं किन जेएनए संस्करणों के साथ किन विधियों का उपयोग कर सकता हूं। मुझे केवल स्निपेट मिले, जहां कक्षाएं गायब थीं और मैं उन्हें आयात करने में सक्षम नहीं था।

मैं जानना चाहता हूं कि मुझे किस जेएनए संस्करण का उपयोग करना चाहिए और BufferedImage के रूप में एक स्क्रीनशॉट कैसे प्राप्त करना चाहिए।

आवश्यक आयातों की एक सूची भी बहुत अच्छी होगी।

3
Venji 21 मार्च 2020, 14:30

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा लगता है कि कई उदाहरण हैं इस लिंक पर. मैं चर्चा के उद्देश्यों के लिए नीचे एक (#3) पर चर्चा करूंगा, लेकिन आपको अपनी स्थिति पर लागू होने वाले अन्य उदाहरणों में से एक मिल सकता है और उम्मीद है कि यह उत्तर आपको प्रक्रिया को समझने में मदद करेगा।

उदाहरण से पहले, मैं आपके प्रश्न का उत्तर दूंगा "कौन से जेएनए संस्करण" ... आपको लगभग सभी मामलों में नवीनतम संस्करण का उपयोग करना चाहिए। जेएनए एक उपयोगकर्ता समर्थित पुस्तकालय है, और कोर जेएनए कोड ज्यादा नहीं बदलता है लेकिन प्रत्येक नया संस्करण देशी कार्यों में अधिक उपयोगकर्ता-योगदान मैपिंग जोड़ता है। उनके अक्सर पूछे जाने वाले प्रश्नों पर ध्यान दें, "JNA अपने प्लेटफ़ॉर्म लाइब्रेरी मैपिंग में फ़ंक्शन XXX अनुपलब्ध है" और उत्तर, "नहीं, यह नहीं है, यह बस आपके इसे जोड़ने का इंतज़ार कर रहा है :)" . यदि आपको आवश्यक मैपिंग जेएनए में नहीं है, तो आप अपनी तत्काल जरूरतों के लिए दिए गए उदाहरण का उपयोग करके इसे आसानी से जोड़ सकते हैं। बेहतर अभी तक, जेएनए परियोजना में अपने मानचित्रण में योगदान दें ताकि आपकी स्थिति में अगला व्यक्ति आपके द्वारा किए गए कार्य से लाभान्वित हो सके!

अब, उदाहरण #3 लिंक से संपूर्ण स्क्रीन का स्क्रीनशॉट लेता है और इसे BufferedImage ऑब्जेक्ट के रूप में लौटाता है। पूर्ण स्रोत कोड उन सभी आयातों को दिखाता है जिनकी आपको आवश्यकता होगी, अधिकांश JNA की WinGDI क्लास

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

1
Daniel Widdis 22 मार्च 2020, 16:52