अल्ट्रा एचडीआर से जुड़ी इमेज दिखाना

अल्ट्रा एचडीआर इमेज फ़ॉर्मैट का इस्तेमाल करने पर, इमेज ज़्यादा जानकारी स्टोर कर सकती हैं जिससे रोशनी की चमक और उसके गहरे हिस्सों को हल्का किया जा सकता है. और ज़्यादा गहरे रंग. Android पर, अल्ट्रा एचडीआर से जुड़ी इमेज शुरू करने की सुविधा उपलब्ध है 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);

अन्य संसाधन

अल्ट्रा एचडीआर से जुड़ी इमेज के बारे में ज़्यादा जानने के लिए, इन संसाधनों को देखें: