अल्ट्रा एचडीआर में मौजूद इमेज में बदलाव करना

अल्ट्रा एचडीआर इमेज फ़ॉर्मैट, रोशनी की जानकारी को कोड में बदलता है. इससे डिवाइसों पर ज़्यादा चमकदार और ज़्यादा गहरे रंगों वाली इमेज दिखती हैं. जब आपका ऐप्लिकेशन, अल्ट्रा एचडीआर में सेव की गई किसी इमेज में बदलाव करता है, तो उस जानकारी को सुरक्षित रखना चाहते हैं. यह ज़रूरी है, भले ही उपयोगकर्ता के डिवाइस पर अल्ट्रा एचडीआर इमेज को पूरी तरह से नहीं दिखाया जा सकता इंटेंसिटी. ऐसा हो सकता है कि उपयोगकर्ता अपनी इमेज किसी ऐसे व्यक्ति के साथ शेयर करे जिसके पास Ultra HDR की सुविधा वाला डिवाइस हो. इसके अलावा, वह इमेज को सेव करके, कई साल बाद किसी नए डिवाइस पर देख सकता है.

अच्छी खबर यह है कि बिटमैप में बदलाव करने के ज़्यादातर Android तरीके, अल्ट्रा एचडीआर के साथ काम करते हैं इमेज फ़ॉर्मैट है. अगर किसी इमेज में बुनियादी बदलाव किए जा रहे हैं, जैसे कि उसे काटना या . नए डाइमेंशन या ओरिएंटेशन के साथ अल्ट्रा एचडीआर इमेज.

अगर आप इमेज की सामग्री में बदलाव कर रहे हैं, तो यह काम मुश्किल है. ऐसे मामलों में, इमेज में बदलाव करने के स्टैंडर्ड तरीकों से, पुरानी इमेज की रोशनी की जानकारी सेव रहती है. ऐसा हो सकता है कि आपको यह जानकारी न चाहिए. ऐसे मामलों में, आपको गेन मैप में बदलाव करें या उसे हटाएं (यह इमेज की चमक की जानकारी को कोड में बदलता है) ताकि आपको सही नतीजा मिले.

अल्ट्रा एचडीआर फ़ॉर्मैट के बारे में खास जानकारी

अल्ट्रा एचडीआर इमेज फ़ॉर्मैट के बारे में ज़्यादा जानकारी, अल्ट्रा एचडीआर इमेज के लिए तय की गई खास जानकारी में दी गई है. यह समझना सबसे ज़रूरी है कि अल्ट्रा एचडीआर में, मुख्य इमेज और मैप शेयर करें, दोनों तरह की इमेज मौजूद होती हैं.

  • प्राइमरी इमेज में, इमेज के हर पिक्सल के रंग की जानकारी होती है.
  • गेन मैप, एक स्टैंडर्ड JPEG इमेज होती है, जिसका रेशियो प्राथमिक इमेज है, हालांकि ज़रूरी नहीं कि पिक्सल डाइमेंशन एक जैसे हों. हर पिक्सल गेन मैप का मतलब, मुख्य इमेज.

गेन मैप ग्रेस्केल या रंगीन हो सकता है. अगर गेन मैप कलर में है, तो गेन मैप पर मौजूद हर कलर चैनल, प्राइमरी इमेज के उस हिस्से पर उस कलर चैनल की चमक बताता है. अगर गेन मैप ग्रेस्केल है, तो गेन मैप का हर पिक्सल, मुख्य इमेज के उस हिस्से पर तीनों कलर चैनलों की चमक बताता है.

गेन मैप का अनुपात, प्राइमरी इमेज के अनुपात जैसा होना चाहिए. हालांकि, इसके पिक्सल डाइमेंशन एक जैसे होने ज़रूरी नहीं हैं. दरअसल, जब Android प्लैटफ़ॉर्म अल्ट्रा एचडीआर इमेज बनाता है. यह कम चौड़ाई और ऊंचाई वाला गेन मैप बनाता है इमेज दिखाई गई हो; ऐसा करने से फ़ाइल का साइज़ काफ़ी छोटा हो जाता है. हालांकि, अच्छे नतीजे के लिए, ज़रूरत के मुताबिक जानकारी को कोड में बदल देता है. इसका मतलब है कि हर एक पिक्सल गेन मैप में कई पिक्सल की चमक मुख्य इमेज.

अल्ट्रा एचडीआर में, बुनियादी बदलाव करने के बारे में जानकारी

अगर किसी अल्ट्रा एचडीआर इमेज में बुनियादी बदलाव करने के लिए, Android Bitmap एपीआई का इस्तेमाल किया जाता है, तो ये तरीके गेन मैप में सही बदलाव करते हैं. Bitmap के साथ ये कार्रवाइयां की जा सकती हैं:

  • घुमाएं: अल्ट्रा एचडीआर में किसी इमेज को घुमाने पर, इमेज के गेन को घुमाया जाता है भी शामिल हैं.
  • काटना: अगर किसी अल्ट्रा एचडीआर इमेज को काटा जाता है, तो यह तरीका गेन मैप को सही तरीके से काटता है.
  • स्केल: अगर किसी अल्ट्रा एचडीआर इमेज को स्केल किया जाता है, तो यह तरीका गेन मैप को स्केल करता है, ताकि उसकी चौड़ाई और ऊंचाई, बदली गई प्राइमरी इमेज की चौड़ाई और ऊंचाई से आधी हो.

हर मामले में, चमक की जानकारी सेव की जाती है.

अल्ट्रा एचडीआर में बेहतर बदलाव करने की सुविधा

अगर किसी अल्ट्रा एचडीआर इमेज में ज़्यादा बदलाव किए जाते हैं, तो गेन मैप में कोई बदलाव नहीं होता. इससे आपको अपने हिसाब से नतीजे नहीं मिल सकते.

आम तौर पर, इन बदलावों की वजह से ऐसा हो सकता है:

  • स्टिकर या इमोजी जोड़ना: जोड़ा गया स्टिकर भी यही होगा चिपकाने के क्षेत्र की चमक और रंग में अंतर का पता चलता है.
  • दूसरी इमेज को ओवरले करना: नई इमेज में चमक का इस्तेमाल किया जाएगा और ओवरले किए जा रहे कॉन्टेंट के रंगों के बारे में जानकारी.
  • फ़िल्टर जोड़ना: पुराने गेन मैप की जानकारी शायद सही न हो करें.

हर मामले में, पुरानी चमक और रंग साफ़ तौर पर पहचानी जाने वाली जानकारी को सुरक्षित रखा जाता है, लेकिन हो सकता है कि यह बदली गई इमेज के लिए सही न हो.

अगर बदलाव की गई इमेज के लिए ओरिजनल गेन मैप सही है, तो आपको कुछ करने की ज़रूरत नहीं है. अगर आपको गेन मैप में बदलाव करना है, तो सामान्य वर्कफ़्लो इस तरह से होता है:

  1. कॉल करके इमेज का मौजूदा गेन मैप पाएं Bitmap.getGainmap() और इसे कैश मेमोरी में सेव करें.
  2. मुख्य इमेज में अपनी पसंद के मुताबिक बदलाव करें.
  3. कैश मेमोरी में सेव किए गए गेन मैप में बदलाव करें. उदाहरण के लिए, अगर मुख्य इमेज पर इमोजी चिपकाया है. हालांकि, ऐसा करने के लिए ज़रूरी है कि गेन मैप के हिस्से को न्यूट्रल वैल्यू में बदल दें, जैसे कि Color.GRAY.

  4. बदले गए गेन मैप को फिर से इमेज पर लागू करें. इसके लिए, Bitmap.setGainmap() को कॉल करें.

अन्य संसाधन

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