2013-07-19 6 views
9

मैं इस प्रश्न को सिर्फ जानकारी के लिए पूछ रहा हूं और iOS एप्लिकेशन (Retina और non-retina डिवाइस) में छवियों के बारे में अपनी अवधारणाओं को साफ़ करने के लिए कह रहा हूं।आईओएस ऐप गैर-रेटिना और रेटिना छवियों की अवधारणा

मैं वर्तमान में क्या कर

है जब मैं एक iPhone आवेदन को विकसित करने और मैं एक छवि दिखाने के लिए देता है पर UIButtonInterface builder का उपयोग कर मैं दो छवियों को लेने का कहना है की सुविधा देता है निम्न आकारों

का मान लीजिए submit.png बटन छवि
  1. 100x100 रेटिना प्रदर्शन के लिए पिक्सल (submit.png)
  2. 200x200 पिक्सल ([email protected])

और Interface builder में मैं UIButton 100x100 पीएक्स का आकार निर्धारित करूंगा और यह पूरी तरह से काम करता है।

प्रश्न:

हम क्यों नहीं डाल सकते हैं केवल एकल छवि submit.png

  1. 200x200 पिक्सल (submit.png)

कहना की सुविधा देता है और UIButton आकार सेट 100x100 interface builder में पीएक्स और उसी छवि का उपयोग retina और non-retina डिवाइस दोनों में किया जाएगा।

रेटिना आकार की एक छवि के बजाय दो छवियों का उपयोग करने का वास्तविक कारण क्या है?

एक और इसी तरह के सवाल,

iPhone 5retina प्रदर्शन में ही उपलब्ध है, लेकिन हम [email protected] के रूप में अपनी Default छवियों रखना होगा। 2x पर क्यों?

+0

क्या आपने सामान्य छवियों को हटाने और सीधे इंटरफ़ेस बिल्डर पर रेटिना छवि देने का प्रयास किया है। i.e. सीधे इंटरफ़ेस बिल्डर के माध्यम से UIButton पर [email protected] असाइन करें। हम आम तौर पर ऐसा करते हैं और यह सामान्य डिवाइस में काम करता है जैसा कि यूआईबटन आकार जैसा ही होगा, मुझे लगता है कि –

+0

हां मैं सामान्य रूप से वही करता हूं जैसा आपने बताया है, लेकिन मैं जानना चाहता हूं कि ऐप्पल डॉक्स दो अलग-अलग छवियों का उपयोग क्यों करता है और फिर भी मैं कोई प्रामाणिक स्रोत जानकारी नहीं मिल सकती है। –

उत्तर

4

गैर-रेटिना छवियों का उपयोग करने का मुख्य उद्देश्य आवश्यक डाउन-स्केल ऑपरेशंस के कारण पुराने उपकरणों पर प्रदर्शन वृद्धि और छवि गुणवत्ता है।

तो पुराने डिवाइस प्रदर्शन के लिए आपको गैर-रेटिना छवियों का उपयोग करना चाहिए।

+0

क्या कोई समाधान है जिसके लिए हम पुराने और नए संस्करण के लिए केवल एक छवि का उपयोग कर सकते हैं। मेरा मतलब है कि हम इसे किसी भी प्रकार के कोड या कुछ के साथ कर सकते हैं ?? –

+0

मुझे नहीं लगता है। क्योंकि हमें पुराने उपकरणों के लिए गैर-रेटिना छवियों की आवश्यकता है। और अगर हम रेटिना छवियों का उपयोग करते हैं तो प्रदर्शन घटता है। –

+0

इसका मतलब है कि हमारे पास दो प्रकार की छवि होनी चाहिए, एक गैर-रेटिना है, अगर ऐप को पुराने डिवाइस में समर्थन करने की आवश्यकता है तो दूसरा रेटिना है। –

1

हमें 2 छवियों को क्यों प्रदान करना है, इसका कारण यह है कि अभी भी लोग प्रारंभिक डिवाइस चला रहे हैं जो रेटिना डिस्प्ले का समर्थन नहीं करते हैं। वे रेटिना चलाने वाले लोगों के रूप में पिक्सेल राशि में कमी कर रहे हैं, इसलिए हम सामान्य राशि प्रदान करते हैं। आईफोन 5 के साथ छवि को छवि फ़ाइल में @ 2x की आवश्यकता होती है क्योंकि @ 2x फ़ाइल नाम रेटिना डिस्प्ले छवियों से निपटने वाला मानक सम्मेलन है।

यही कारण है कि जब आपने पूछा कि हम 200x200 छवि को 100x100 बटन में क्यों नहीं डालते हैं। खैर, अगर आप रेटिना डिवाइस चला रहे हैं, तो उस बटन की छवि आपके द्वारा खींची गई चीज़ों की तरह दिखाई देगी; हालांकि, यदि आप 3gs की तरह कुछ चला रहे हैं, जिसमें कोई रेटिना नहीं है, तो उस बटन में आपकी छवि अधिकतर अवरुद्ध या धुंधली हो जाएगी क्योंकि पिक्सेल डिवाइस के अनुपात से मेल नहीं खा रहे हैं।

आशा है कि कुछ भी साफ़ करने में मदद मिलेगी!

9

छवि के ios संकल्पना में इसकी भी स्पष्ट आप इस दस्तावेज़ के Custom Icon and Image Creation Guidelines

उदाहरण के लिए पढ़ने के लिए अगर आप छवि

100 x 100 पिक्सल तो यह 163 संकल्प ppi के साथ करना होगा बनाना चाहते हैंsubmit.png NON-retina device

200 x 200 पिक्सल तो यह 3 के साथ करना चाहिए 26 संकल्प ppi[email protected] Retina device

iPad के लिए

: -

400 x 300 पिक्सल तो यह 264 संकल्प ppi[email protected]~ipad.png Retina iPad device

200 x 150 पिक्सल के साथ तो यह करना चाहिए 132 संकल्प पीपीआईsubmit~ipad.png Non-retina iPad device

एक देखो इस छवि डालें: -

enter image description here

छवि स्रोत This

से हम @ 2x inculcated जब हम iPad के लिए एक छवि के विभिन्न संस्करणों निर्दिष्ट करना चाहते हैं और आई - फ़ोन। उच्च-रिज़ॉल्यूशन छवि के लिए @ 2x संशोधक को शामिल करना नया है और सिस्टम को यह पता करने देता है कि छवि मानक छवि का उच्च-रिज़ॉल्यूशन संस्करण है।

कुंजी परिवर्तन आकार के लिए ओएस के लिए आवश्यक खिड़की iPhone 5 display.has को भरने के लिए है कि इस और अन्य आकार से संबंधित तोड़ मरोड़ आप बनाने के लिए आवश्यकता हो सकती है पर एक writeup तैनात।

आशा है कि यह छवि संकल्प और इसके आकार के लिए उपयोगी जानकारी है।

+0

क्या आप कृपया मुझे बता सकते हैं कि आपको संकल्पों के बारे में जानकारी कहां मिली है? आईफोन के लिए 163 और 326 प्रस्तावों की तरह। रेटिना आकार में 72 डीपीआई पर मेरे डिजाइनर डिज़ाइन के रूप में और फिर छवि को उसी डीपीआई के साथ छोटा बनाएं और छवियों को गैर-रेटिना आकार में परिवर्तित करें। –

+1

http://www.apple.com/iphone/specs.html एक नज़र डालें, इसमें रोटिन सेब iphone5 उत्पाद ** 1136-बाय -640-पिक्सेल रिज़ॉल्यूशन 326 पीपीआई ** है, इसलिए गैर अनुसूचित जनजाति इसे आधा 163 –

+0

क्या है मतलब यह है कि? हमें 320x480 पीएक्स आकार में रेटिना के लिए 326DPI और सामान्य डिवाइस के लिए 163 डीपीआई के साथ 320x480 पीएक्स आकार के साथ डिजाइन करना चाहिए? या हमें रेटिना के लिए 72 डीपीआई में 320x480 पीएक्स आकार में सामान्य रूप से 72DPI में आकार और 640x960 पीएक्स आकार में डिजाइन करना चाहिए? –

-1

1- यदि आप अपने आवेदन को रेटिना और गैर रेटिना डिवाइस दोनों का समर्थन करना चाहते हैं तो आपको फ़ाइल नाम मानकों का पालन करना होगा। यदि आप केवल रेटिना डिवाइस का समर्थन करना चाहते हैं तो डिफ़ॉल्ट छवि (बटन.png) जोड़ने की आवश्यकता नहीं है। यदि आप दोनों रेटिना और गैर रेटिना उपकरणों का समर्थन करना चाहते हैं तो दोनों छवियों को जोड़ने के साथ-साथ इंटरफ़ेस बिल्डर में @ 2x जैसे पूर्ण नाम जोड़ने की आवश्यकता नहीं है। आप बस छवि का नाम जोड़ते हैं। मुख्य मौलिक दोनों छवियों का नाम समान होना चाहिए। Ex: Non retina-->Button.png, Retina-->[email protected], IE-->Button

2 - iPhone5 है रेटिना प्रदर्शन केवल है। इसलिए यदि आप iPhone5 के लिए डिफ़ॉल्ट छवि जोड़ते हैं तो यह स्वचालित रूप से iPhone5 डिवाइस में चलता है। ऐप्पल मानकों का पालन कर रहा है। तो हमें पालन करने की जरूरत है।

नोट: एक्सकोड स्वचालित रूप से इन सभी प्रकार की छवियों का ख्याल रखेगा।

1

हां, आप रेटिना और गैर-रेटिना दोनों डिवाइसों के लिए केवल रेटिना छवियों का उपयोग कर सकते हैं। यदि आप उन्हें imageviews, बटन आदि में उपयोग करते हैं, तो उन्हें scaletofill/aspectfill/aspectfit या जो कुछ भी आप चाहते हैं उन्हें बनाएं।

लेकिन इसके साथ समस्या यह है कि अनावश्यक बड़ी आकार की छवियों को स्मृति में लोड किया जाएगा, और छवियों के आकार को कुछ प्रसंस्करण की आवश्यकता होगी।

अलग-अलग छवियों का उपयोग करके ऐप बंडल आकार में वृद्धि होती है, लेकिन चलते समय एप्लिकेशन द्वारा वास्तविक RAM उपयोग को कम कर देता है।

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