अल्ट्रा एचडीआर इमेज फ़ॉर्मैट की मदद से, इमेज में रोशनी की तीव्रता के बारे में ज़्यादा जानकारी सेव की जा सकती है. इससे हाइलाइट और शैडो ज़्यादा बेहतर दिखते हैं. साथ ही, रंग भी ज़्यादा असरदार होते हैं. Android 14 (एपीआई लेवल 34) से, Android में अल्ट्रा एचडीआर इमेज की सुविधा उपलब्ध है. अगर आपका ऐप्लिकेशन उन वर्शन पर चल रहा है, तो इन इमेज को सही तरीके से दिखाने के लिए, अपने ऐप्लिकेशन को कॉन्फ़िगर करना ज़रूरी है. दूसरी ओर, अगर आपका ऐप्लिकेशन अल्ट्रा एचडीआर इमेज नहीं दिखा रहा है, तो अल्ट्रा एचडीआर डिसप्ले को चालू न करके, डिवाइस के संसाधनों को बचाया जा सकता है. इस पेज पर बताया गया है कि यह कैसे पता लगाया जा सकता है कि ग्राफ़िक्स, अल्ट्रा एचडीआर के साथ काम करते हैं या नहीं. साथ ही, उन्हें सही तरीके से दिखाने का तरीका भी बताया गया है.
यह देखना कि गेन मैप मौजूद है या नहीं
अल्ट्रा एचडीआर इमेज में गेन मैप होता है. गेन मैप का इस्तेमाल, इमेज के हर पिक्सल की बढ़ी हुई चमक का पता लगाने के लिए किया जाता है. यह पुष्टि करने के लिए कि कोई इमेज अल्ट्रा एचडीआर फ़ॉर्मैट में है या नहीं, इमेज या ड्रॉबल को 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 ने अल्ट्रा एचडीआर की सुविधा को जल्दी अपनाया, जिससे सिर्फ़ तीन महीने में यूज़र एक्सपीरियंस बेहतर हुआ