अदृश्य PNG छवि परत जो केवल एक पृष्ठभूमि के रूप में दिखाई देती है


48

मैं हाल ही में एक अजीबोगरीब छवि के साथ आया हूं, जिसमें अजीब गुण हैं। छवि एक पीएनजी प्रारूप है और बस एक पारदर्शी पृष्ठभूमि के साथ एक साधारण पक्षी दिखाता है। मेरे मित्र ने इसे सहेजने और इसे मेरी पृष्ठभूमि के रूप में सेट करने के लिए मुझे साधारण निर्देशों के साथ छवि भेजी। Original image with just the seagull

छवि को मेरी पृष्ठभूमि के रूप में सेट करने के बाद एक दूसरी छवि यह दिखाती है कि वास्तव में सीगल एक हथियार पर खड़ा है: Background image with a secret layer?

इससे मुझे पहली बार छवि की प्रकृति और इस तरह की छवि बनाने के लिए बहुत उत्सुकता हुई। मैंने फ़ोटोशॉप में छवि को खोल दिया है और सामान्य से कुछ भी नहीं दिखता है - छवि अभी भी पारदर्शी सीगल के समान है, इसे अदृश्य बनाने के लिए कोई छिपी हुई परतें या मुखौटे नहीं हैं। फ़ोटोशॉप में छवि की जांच करने के बाद, मैंने सोचा था कि विंडोज ने मेरी डेस्कटॉप पृष्ठभूमि के रूप में सेट करते समय फ़ाइल में बदलाव किए हैं - नेविगेट करने के बाद %AppData%\Microsoft\Windows\Themes छवि वही दिखाई दी।

फ़ोटोशॉप में देखे या संपादित किए जाने की तुलना में इस छवि को एक अलग छिपी हुई परत या पूरी तरह से अलग छवि क्यों दिखाई देती है जिसे विंडोज डेस्कटॉप पृष्ठभूमि के रूप में सेट किया जाता है?

छवि के लिए सीधा लिंक।


6
इसे XnView के साथ खोलें, "अल्फा चैनल निकालें" पर क्लिक करें, और आपको पूरी छवि दिखाई देगी। विंडोज 7 पारदर्शिता को खोने, पृष्ठभूमि को जेपीईजी में परिवर्तित करता है answers.microsoft.com/en-us/windows/forum/windows_7-desktop/...
leonbloy

दुर्भाग्य से लिंक मृत हो गया है
phuclv

जवाबों:


59

मैं यह अनुमान लगा रहा हूं कि इसमें "डर्टी ट्रांसपेरेंसी" क्या था मुंहतोड़ पत्रिका से लेख

अनिवार्य रूप से पारदर्शी पीएनजी में किसी भी रंग का वर्णन आरजीबीए मूल्य द्वारा किया जा सकता है, जहां आरजीबी रेड, ग्रीन और ब्लू चैनलों और ए के लिए अल्फा के लिए खड़ा है। "अदृश्य" रंगों में कोई भी आरजीबी मान + 0 अल्फा हो सकता है, जिसका अर्थ है कि रंग मूल जानकारी को बनाए रखेगा, लेकिन पारदर्शी के रूप में प्रस्तुत करेगा क्योंकि इसका अल्फा 0 पर सेट है।

जब अल्फा का उपयोग किया जा रहा है तो आप RGB मूल्यों को क्यों संग्रहीत करना चाहेंगे? तो आप पारदर्शी किनारों और पारदर्शी रंगों को प्राप्त कर सकते हैं - पारदर्शी-पृष्ठभूमि GIF में दांतेदार किनारों के विपरीत। PNG में पारदर्शिता 0 से 255 तक जा सकती है, GIF में यह 100% पारदर्शी या अपारदर्शी है। 50% पारदर्शिता पर कुछ कहने के लिए, आपको अभी भी RGB मानों को जानना होगा, इसलिए मान संग्रहीत है। पूरी तरह से पारदर्शी रंग को सहेजते समय अधिकांश छवि संपादक सॉफ़्टवेयर आरजीबी जानकारी को छोड़ देते हैं, फ़ोटोशॉप शामिल है।

मैं सीसी संस्करणों के लिए नहीं बोल सकता, लेकिन पुराने फ़ोटोशॉप संस्करणों में "अदृश्य" रंगों को देखने के लिए आपको एक प्लगइन की आवश्यकता होगी। एक चुनें: Photofreebies या SuperPNG । SuperPNG अधिक हाल ही में और कम बरबाद लगता है।

चाल क्यों काम करती है? वॉलपेपर अपारदर्शी होना चाहिए क्योंकि उन्हें "सही" दिखाने के लिए "पीछे" कुछ भी नहीं है? मेरा अनुमान है कि विंडोज अल्फा चैनल की जानकारी को छोड़ देता है, इस प्रक्रिया में छिपे हुए आरजीबी मूल्यों का खुलासा करता है।


5
मैंने अभी-अभी कोशिश की कि आपने पारदर्शिता लेयर मास्क (अल्फा चैनल) को हटाकर क्या कहा, जो मुझे कभी नहीं हुआ - ऐसा करने से मैं प्रभाव को दोहराने में सक्षम था। यह पृष्ठभूमि बनाने का एक बहुत अच्छा तरीका है मुझे लगता है कि मैं बहुत जल्द इसकी ट्रोलिंग क्षमताओं की खोज करूंगा: डी
Callum Carmicheal

15
मैं कहूंगा कि यह विंडोज में एक बग है। यदि पिक्सेल का अल्फा मान 0 है, तो पिक्सेल पारदर्शी है और आरजीबी मान मायने नहीं रखना चाहिए। विंडोज को एक ऐसी छवि प्रदान करनी चाहिए जिसमें किसी और चीज़ के ऊपर पारदर्शिता हो, उदाहरण के लिए एक सफेद पृष्ठभूमि।
Paul

5
@Paul। सहमत, इसे छोड़कर डेस्कटॉप के लिए परिभाषित पृष्ठभूमि रंग होगा, वही रंग जिसका उपयोग किया जाता है यदि छवि को बढ़ाया या टाइल नहीं किया गया है और डेस्कटॉप को भरने के लिए बहुत छोटा है। रूपक यह है कि वॉलपेपर किसी ठोस रंग की सतह या दीवार के ऊपर होता है।
trlkly

3
मुझे बहुत आश्चर्य होगा अगर Adobe Photoshop को इसे प्राप्त करने के लिए प्लग-इन की आवश्यकता थी - मुझे उम्मीद है कि यह GIMP के समान नियंत्रणों की पेशकश करेगा, उदा। घटता या स्तर उपकरणों द्वारा अल्फा मूल्यों को समायोजित करना (यह पारदर्शी भागों को दृश्यमान बनाने के कई तरीकों में से केवल दो हैं)।
Michael Schumacher

2
@MichaelSchumacher आपको आश्चर्य होगा कि फ़ोटोशॉप की कुछ क्षेत्रों में कमी कैसे हो सकती है। निष्पक्ष होने के लिए मुझे कोई अंदाजा नहीं है अगर मौजूदा सीसी संस्करण पहले से ही इसका समर्थन करता है। मैंने अपने स्थायी-लाइसेंस वाले पीएस के साथ रहने का फैसला किया, इसलिए मेरा संस्करण अब तक अप्रचलित है।
Rhaenys

13

से जोड़ना है निहाल का जवाब , यह GIMP में "एंटी-इरेज़" ब्रश का उपयोग करके पुन: पेश किया जा सकता है। मिटा ब्रश एक अल्फा चैनल को जोड़ या हटा सकता है यदि छवि एक प्रारूप का उपयोग कर रही है जो इसका समर्थन करता है, (मिटाने और एंटी-इरेज़िंग के बीच स्वैप को दबाए रखें)।

कृतिका के लिए, आप यह कर सकते हैं: Layer > Split Alpha > Alpha into Mask। ऐसा करने के बाद आप ट्रांसपेरेंसी मास्क 1 चैनल को छिपा या हटा सकते हैं जो अभी बनाया गया था और आपको पूरी छवि दिखाई देगी।

चूंकि विंडोज की पृष्ठभूमि के पीछे कुछ भी नहीं हो सकता है, यह शायद केवल पारदर्शिता को छीन रहा है और इसके बिना छवि को प्रदर्शित कर रहा है, (त्वरित और गंदे 32 बिट छवि को 24 बिट से दिखता है)।


3

स्पष्टीकरण का एक बिंदु: यह बग नहीं है, यह पीएनजी विनिर्देश में व्यवहार निर्दिष्ट है। विशेष रूप से विनिर्देशन में कहा गया है कि यदि कोई दर्शक या कनवर्टर पारदर्शिता को नहीं समझ सकता है या पारदर्शिता संदर्भ के लिए उपयुक्त नहीं है या अल्फा चैनल का उपयोग करने पर ध्यान नहीं दिया जा सकता है। इसके अलावा विनिर्देश सभी छवि जनरेटर के लिए पारदर्शी रंगों को सेट करने के लिए कहता है ताकि अल्फा चैनल की अनदेखी होने पर छवि उपयोगी हो। (मेरा विरोधाभास, मुझे कल्पना पढ़े दो साल हो गए हैं।)


1
क्या आप कृपया कोशिश कर सकते हैं और विनिर्देशन से संबंधित मार्ग पा सकते हैं? क्योंकि मैं इसमें नहीं मिल सकता w3.org/TR/PNG । धन्यवाद!
Marnix Klooster
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.