2012-03-30 8 views
22

मेरे पास एमडीपीआई/एचडीपीआई/एक्सएचडीपीआई में 9-पैच छवियां हैं। क्या कोई विशेष कारण है कि इसे छोटे आकार के लिए क्यों नहीं बचाया जाएगा? जब सामग्री अधिक होती है तो खिंचाव वाले क्षेत्रों स्वचालित रूप से स्केल होते हैं, उदाहरण के लिए 9-पैच के रूप में पृष्ठभूमि।विभिन्न घनत्व के लिए अलग 9-पैच छवियां?

उदाहरण पृष्ठभूमि:

mdpi: mdpi

hdpi: hdpi

xhdpi: xhdpi

उत्तर

28

कई नौ पैच इतना छोटा है कि वे सामान्य रूप से अलग स्क्रीन आकार के लिए फिर से बनाना पड़ नहीं आ रहे हैं उस पर और अधिक विवरण दिए गए हैं,।

आपके उदाहरण में पृष्ठभूमि के कोनों को स्केल नहीं किया गया है। यदि आप सभी संकल्पों पर एक ही कोनों का उपयोग करते हैं तो उनके विभिन्न संकल्पों पर एक अलग आकार होगा। छोटे फोन पर कोनों को बड़े फोन पर बड़ा दिखाई देगा, कोनों को छोटे दिखाई देगा।

एक और उदाहरण एक पंक्ति होगी। यदि आपके पास एक रेखा है जिसका विशेष प्रभाव है और आप इसे एमडीपीआई स्क्रीन के लिए नौ पैच के रूप में बनाते हैं और रेखा दो पिक्सेल ऊंची है। एक एक्सएचडीपीआई स्क्रीन पर स्केल किए बिना इस ड्रॉइंग को फिर से उपयोग करने से आपकी स्क्रीन इस स्क्रीन पर दो पिक्सेल ऊंची होगी। लेकिन क्योंकि स्क्रीन में छोटे पिक्सेल (उच्च रिज़ॉल्यूशन, एक ही डिस्प्ले साइज) हैं, इसलिए लाइन पतली दिखाई देगी।

इसलिए आप हमेशा हर समाधान के लिए एक 9-पैच बनाने की जरूरत है, या के रूप में @Shubhayu कहा केवल उच्च संकल्प नौ पैच का उत्पादन और स्वीकार करते हैं कि वे धुँधली प्राप्त करता है, तो प्रणाली उन्हें अन्य प्रस्तावों के लिए पैमाने नीचे।

+0

अब समझें। बीलेफेल्ड को नमस्कार :-) – user949884

+0

यदि आपका प्रश्न हल हो गया है तो आप एक उत्तर स्वीकार कर सकते हैं :) – Janusz

+0

हाँ आप 2 पिक्सेल उच्च उदाहरण के बारे में सही हैं। हालांकि मैंने छवियों को स्केल किए जाने में कोई समस्या नहीं देखी थी। यह संभव है कि मैंने उन छवियों से निपट नहीं लिया जो अंतर दिखाएंगे। टिप के लिए धन्यवाद :) मैं अगली बार इसे ध्यान में रखूंगा। – Shubhayu

6

आप सभी 3 में अलग अलग आकार 9-पैच छवियों डाल करने के लिए की जरूरत नहीं है फ़ोल्डरों। बस अपने खींचने योग्य फ़ोल्डर में उच्चतम रिज़ॉल्यूशन वाला एक रखें। एंड्रॉइड इसे आपके सभी अलग घनत्वों के लिए उठाएगा।

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

संपादित करें: इस पोस्ट को लिखने के बाद से, मैंने 9-पैच के बारे में बहुत अधिक चीज़ें खोज ली हैं। 9-पैच छवियों को स्केल नहीं किया जाता है। सबसे छोटी आकार की छवि डालना सबसे अच्छा होगा। और यह अन्य घनत्वों के लिए कैसे दिखता है, इस पर आधारित, आपको प्रभावित घनत्व के लिए 9-पैच छवियां बनाना चाहिए। यहाँ

http://www.shubhayu.com/android/9-patch-image-designers-vs-developers

+0

और यह चयनित घनत्व से मेल खाने के लिए उच्चतम घनत्व से छवियों का आकार बदल देगा और उस पर आकार की छवि से छवियों को फैलाने के लिए नौ पैच तंत्र का उपयोग करेगा। परिणाम धुंधली छवियों में परिणाम होगा और इसकी अनुशंसा नहीं की जाती है। – Janusz

+0

9-पैच स्केल डाउन? मुझे लगता है कि केवल स्केल अप है। – user949884

+0

यदि एंड्रॉइड एक एमडीपीआई फोन के लिए एक एक्सएचडीपीआई फ़ोल्डर से ड्रॉ करने योग्य बनाता है तो यह छवि को स्केल करेगा चाहे वे 9-पैच हों या नहीं। अधिक जानकारी के लिए मेरा जवाब देखें। मुझे यह सीखने में भी मुश्किल समय था;) – Janusz

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