अल्ट्रा एचडीआर इमेज फ़ॉर्मैट की मदद से, इमेज में रोशनी की तीव्रता के बारे में ज़्यादा जानकारी सेव की जा सकती है. इससे हाइलाइट और शैडो ज़्यादा बारीकी से दिखते हैं. साथ ही, रंग ज़्यादा गहरे दिखते हैं. Android 14 (एपीआई लेवल 34) और इसके बाद के वर्शन पर, अल्ट्रा एचडीआर इमेज की सुविधा उपलब्ध है. अगर आपका ऐप्लिकेशन इन वर्शन पर चल रहा है, तो यह ज़रूरी है कि आप अपने ऐप्लिकेशन को इन इमेज को सही तरीके से दिखाने के लिए कॉन्फ़िगर करें. वहीं, अगर आपका ऐप्लिकेशन अल्ट्रा एचडीआर इमेज नहीं दिखा रहा है, तो अल्ट्रा एचडीआर डिसप्ले को चालू न करके, डिवाइस के संसाधनों को बचाया जा सकता है. इस पेज पर बताया गया है कि यह कैसे पता करें कि ग्राफ़िक, अल्ट्रा एचडीआर के साथ काम करते हैं या नहीं. साथ ही, उन्हें सही तरीके से दिखाने का तरीका भी बताया गया है.
यह देखना कि गेन मैप मौजूद है या नहीं
अल्ट्रा एचडीआर इमेज में गेन मैप होता है. गेन मैप का इस्तेमाल, इमेज में हर पिक्सल की बढ़ी हुई चमक का पता लगाने के लिए किया जाता है. यह पुष्टि करने के लिए कि कोई इमेज अल्ट्रा एचडीआर फ़ॉर्मैट में है या नहीं, इमेज या ड्रॉएबल को Bitmap में बदलें. इसके बाद, Bitmap.hasGainMap() को कॉल करें (यह Android 14 के बाद से उपलब्ध है), ताकि यह पता लगाया जा सके कि उसमें गेन मैप है या नहीं.
अल्ट्रा एचडीआर फ़ॉर्मैट में इमेज दिखाने के लिए, अपनी विंडो को कॉन्फ़िगर करना
अल्ट्रा एचडीआर इमेज को पूरी डाइनैमिक रेंज के साथ दिखाने के लिए, विंडो के कलर मोड को ActivityInfo.COLOR_MODE_HDR पर सेट करें. इसके लिए, विंडो के setColorMode() तरीके को कॉल करें. (ये एपीआई, Android 8 से उपलब्ध हैं. हालांकि, जब तक डिवाइस में Android 14 या इसके बाद का वर्शन नहीं होगा, तब तक इमेज अल्ट्रा एचडीआर में नहीं दिखेंगी.)
जानकारी को एक जगह इकट्ठा किया जा रहा है
यहां दिए गए कोड से पता चलता है कि पूरी प्रोसेस कैसी दिखती है. इस कोड में यह माना गया है कि इमेज को बिटमैप में लोड किया गया है. साथ ही, यह जांच की गई है कि इमेज में गेन मैप है या नहीं. अगर ऐसा होता है, तो कोड विंडो के कलर मोड को COLOR_MODE_HDR पर स्विच कर देता है. अगर इमेज में गेन मैप नहीं है, तो कोड विंडो को डिफ़ॉल्ट कलर मोड पर स्विच कर देता है.
Kotlin
val bitmap = /* Get Bitmap from Image Resource */ binding.imageContainer.setImageBitmap(bitmap) // Set color mode of the activity to the correct color mode. requireActivity().window.colorMode = if (bitmap.hasGainmap()) ActivityInfo.COLOR_MODE_HDR else ActivityInfo.COLOR_MODE_DEFAULT
Java
final Bitmap bitmap = /* Get Bitmap from Image Resource */ binding.imageContainer.setImageBitmap(bitmap); // Set color mode of the activity to the correct color mode. int colorMode = ActivityInfo.COLOR_MODE_DEFAULT; if (bitmap.hasGainmap()) colorMode = ActivityInfo.COLOR_MODE_HDR; requireActivity().getWindow().setColorMode(colorMode);
अन्य संसाधन
अल्ट्रा एचडीआर इमेज के बारे में ज़्यादा जानने के लिए, ये अतिरिक्त संसाधन देखें:
- वीडियो: Android पर अच्छी क्वालिटी वाला मीडिया इस्तेमाल करने का अनुभव देना
- सैंपल के तौर पर मिला ऐप्लिकेशन: अल्ट्रा एचडीआर में इमेज दिखाना
- अल्ट्रा एचडीआर इमेज फ़ॉर्मैट के बारे में खास जानकारी
- वीडियो: Android डेवलपर की कहानी: Instagram ने अल्ट्रा एचडीआर को अपनाया और सिर्फ़ तीन महीनों में उपयोगकर्ता अनुभव को बेहतर बनाया