पहले यह ध्यान रखें कि तकनीकी तौर पर वहाँ विघटन के साथ सच्ची संकल्प स्वतंत्रता जैसी कोई चीज नहीं है। उच्च पर्याप्त आवर्धन के साथ व्यक्तिगत टेक्सल्स दिखाई देने लगेंगे। इसका एकमात्र समाधान वेक्टर ग्राफिक्स सिस्टम लिखना है।
कहा जा रहा है कि एक मजबूत रेखापुंज आधारित संकल्प स्वतंत्र प्रणाली बनाने के लिए कुछ कदम हैं: आकार, समन्वय प्रणाली और लेआउट।
आकार और स्थिति के लिए हमें कुछ इकाइयों के सेट का उपयोग करने की आवश्यकता होती है जो वास्तविक एप्लिकेशन रिज़ॉल्यूशन के लिए एक अनुपात बनाए रखते हैं। इस मामले में इंच का उपयोग करने देता है क्योंकि मैं अमेरिकी हूं और आप डीपीआई के साथ तत्वों को स्केल कर सकते हैं (डॉट्स प्रति इंच)। उदाहरण के लिए, आपका आवेदन 800x600 पर चल रहा है। डिफ़ॉल्ट विंडोज डीपीआई 96 है तो इसका मतलब है कि एप्लिकेशन का रिज़ॉल्यूशन (800/96) x (600/96) इंच या 8.33x6.25 इंच है।
चूंकि आपको बहुत कम से कम, 4: 3 और 16: 9 पहलू अनुपात के साथ काम करने में सक्षम होने की आवश्यकता है, इसलिए आप अपने स्क्रीन समन्वय प्रणाली को कैसे संभालते हैं, थोड़ा मुश्किल हो जाता है। मैं जो करने की सलाह देता हूं वह (0,0) डिस्प्ले क्षेत्र के केंद्र में (साथ ही साथ खिड़कियां और नियंत्रण) है। यह अच्छी तरह से काम करता है क्योंकि यदि आप एक कोने में (0,0) डालते हैं, तो जैसा कि उस कोने में रिज़ॉल्यूशन और पहलू अनुपात होता है, वह आपके सभी स्प्राइट्स का अनुवाद करने वाला होता है, जबकि स्क्रीन का केंद्र हमेशा स्क्रीन के केंद्र में होगा डिवाइस की बात करें। 800x600 के साथ हमारे उदाहरण को जारी रखते हुए यह एक समन्वित प्रणाली में परिणाम देगा (बाएं से दाएं) -4.165in से 4.165in और (ऊपर से नीचे) 3.125 से -3.125in।
तो इस समय आपके पास उन वस्तुओं के साथ डीपीआई स्वतंत्र यूआई सिस्टम है जो हमेशा स्क्रीन के केंद्र के सापेक्ष एक ही स्थान पर होंगे - कोई संकल्प स्वतंत्र नहीं। सौभाग्य से डीपीआई स्वतंत्रता आपको कुछ अनुमान के आधार पर डीपीआई को स्केल करके यूआई को स्केल करने की अनुमति देती है। उदाहरण के लिए, हम अपने अनुमान के रूप में ऊर्ध्वाधर रिज़ॉल्यूशन का उपयोग करके डीपीआई को स्केल कर सकते हैं। यदि 800x600 96 DPI है, तो हम 1024x768 के लिए 123 DPI या 1280x720 के लिए 115 DPI का उपयोग करेंगे।
अंत में आपको एक लेआउट सिस्टम बनाने की आवश्यकता होगी जो पूर्ण स्थिति और साथ ही सापेक्ष स्थिति दोनों को संभालता है। इसके उत्कृष्ट उदाहरण WPF और वेब हैं। आप निर्दिष्ट कर सकते हैं कि नियंत्रण / बॉक्स कई अन्य उपयोगी स्वचालित लेआउट विकल्पों के साथ किनारे पर डॉकिंग करते समय कुछ% मूल तत्व को भरते हैं। यह सब एक साथ एक UI सिस्टम में परिणाम देगा जो कई अलग-अलग प्रस्तावों और पहलू अनुपातों में लगभग समान दिखने में सक्षम है।
संक्षेप में, मैं आपको डब्ल्यूपीएफ का अध्ययन करने की सलाह देता हूं क्योंकि यह लगभग सभी करता है, सिवाय इसके कि यह शीर्ष-बाएं कोने के समन्वय प्रणाली में एक मूल को बनाए रखता है और ऊर्ध्वाधर संकल्प के आधार पर स्वचालित रूप से डीपीआई को स्केल नहीं करता है।