GIMP का उपयोग कर, आप एक रंग "मिटा" सकते हैं?


9

मैं वर्तमान में एक iOS एप्लिकेशन पर काम कर रहा हूं और मैं इंजीनियर को उनके मानक अलर्ट डायलॉग विंडो को रिवर्स करने का प्रयास कर रहा हूं। मैंने यह पता लगाने में कामयाबी हासिल की कि जो पृष्ठभूमि का उपयोग करता है, उसका अल्फा मान ठोस काले दृश्य और ठोस सफेद दृश्य के खिलाफ कुछ रंग नमूने के माध्यम से है।

इस जानकारी को देखते हुए, GIMP का उपयोग करना पृष्ठभूमि के रंग को "मिटा" देना संभव है, ताकि मैं केवल मूल, अनबल्ड अलर्ट पृष्ठभूमि के साथ छोड़ दूं?

मेरे पास केवल चल रहे ऐप से स्क्रीनशॉट के रूप में छवि दृश्य में अलर्ट है।

जवाबों:


8

हाँ, यह मुमकिन है। एक उदाहरण के रूप में विकिमीडिया कॉमन्स ( ed_g2s द्वारा , CC-by-SA 3.0 के रूप में लाइसेंस प्राप्त) से इस छवि का उपयोग करते हुए, यह कैसे किया जाए, इसकी रूपरेखा तैयार करता हूँ :

पीएनजी पारदर्शिता प्रदर्शन छवि ed_g2s द्वारा, CC-बाय-एसए 3.0 के रूप में लाइसेंस प्राप्त है

  1. एक ही छवि की परतों के रूप में काले और सफेद पृष्ठभूमि संस्करण खोलें ( परत के रूप में खोलें ... या बस दोनों को खोलें और एक-दूसरे को कॉपी-पेस्ट करें)। काली परत के ऊपर सफेद परत को स्थानांतरित करें यदि यह पहले से ही ऐसा नहीं है। दो परतों को कुछ इस तरह दिखना चाहिए:

    काली पृष्ठभूमि के साथ प्रदर्शन छवि सफेद पृष्ठभूमि के साथ प्रदर्शन छवि

  2. परतों के अंतर को लें: काली परत को क्लोन करें (आपको बाद में इसकी आवश्यकता होगी), सफेद परत की परत मोड को "अंतर" में बदलें और इसे नीचे मर्ज करें। परिणाम उलटा। यह आपको मूल छवि का अल्फा चैनल देता है।

    अल्फा चैनल का पुनर्निर्माण किया

    संपादित करें: यदि आपकी पृष्ठभूमि काले और सफेद नहीं हैं, तो उल्टे अंतर परत में एक काली पृष्ठभूमि नहीं होगी। इसे ठीक करने के लिए, पहले लेयर को डिस्चार्ज करें (जो भी मोड आपको सबसे अच्छा कंट्रास्ट देता है) का उपयोग करें और फिर कलर्स → ऑटो → नॉर्मलाइज़ करके बैकग्राउंड को ब्लैक करें। आप इसके बजाय चैनल मिक्सर का उपयोग भी कर सकते हैं , लेकिन इसका उपयोग करने के लिए थोड़ा मुश्किल है।

    ( सामान्य से ऊपर काम करता है यदि आप जिस अल्फा चैनल को फिर से बना रहे हैं उसमें कम से कम कुछ भाग 100% अस्पष्टता के साथ हैं; यदि आप जो छवि पुनः बना रहे हैं वह हर जगह पारभासी है, तो आप कलर्स → लेवल ... का उपयोग केवल काले बिंदु को सेट करने के लिए कर सकते हैं । )

    यदि आपके पास पहले से एक नहीं है, तो आपको अगले चरण के लिए एक काले रंग की पृष्ठभूमि के साथ अपनी छवि का एक संस्करण बनाने की आवश्यकता है। ऐसा करने के लिए, निम्नलिखित अतिरिक्त चरणों का उपयोग करें:

    • जो भी मूल संस्करण उठाओ उसकी पृष्ठभूमि अधिक गहरा है। इसके बैकग्राउंड के रंग से भरी एक नई लेयर बनाएं।
    • अंतर परत को क्लोन करें और इसे उल्टा करें ताकि इसकी एक सफेद पृष्ठभूमि हो। इस परत को नए ठोस रंग के शीर्ष पर रखें जिसे आपने अभी बनाया था, इसकी परत मोड को "गुणा" करें और इसे नीचे मर्ज करें।
    • अंत में, परिणामी परत के मोड को "घटाना" में बदलें और इसे मूल छवि के साथ परत पर मर्ज करें। यह मूल पृष्ठभूमि को दूर करना चाहिए, जो आपको काले रंग की पृष्ठभूमि पर छवि के साथ छोड़ देगा।
  3. यदि हम पूर्व-गुणा किए गए अल्फ़ा के साथ एक छवि प्रारूप का उपयोग कर रहे थे, तो हम अब कम या ज्यादा करेंगे। लेकिन जब से हम नहीं हैं, हमें अभी भी आरजीबी चैनलों को डी-गुणा करना होगा। ऐसा करने के लिए, हम पिछले चरण में बनाई गई अल्फा परत को क्लोन करते हैं (या बस इसे क्लिपबोर्ड पर कॉपी करते हैं), इसके लेयर मोड को "डिवाइड" करने के लिए सेट करें और चरण 2 से पहले आपके क्लोन की गई काली-पृष्ठभूमि परत के साथ इसे मर्ज करें। परिणाम इस तरह दिखना चाहिए (अंतर देखने के लिए मूल काले-पृष्ठभूमि संस्करण के साथ तुलना करें):

    डी-गुणा आरजीबी चैनल

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

    पारदर्शिता के साथ पुनर्निर्मित छवि

बेशक, इस तकनीक को वास्तव में आवश्यक है कि आपके पास शुद्ध काले और शुद्ध सफेद पृष्ठभूमि पर छवि के संस्करण हैं । यदि पृष्ठभूमि थोड़ी दूर है, तो इसी तरह के तरीके अभी भी प्रयोग करने योग्य हो सकते हैं, लेकिन आपको अतिरिक्त रंग समायोजन करने की आवश्यकता हो सकती है और परिणाम बिल्कुल सही नहीं हो सकते हैं। ( संपादित करें: ऊपर चरण 2 में परिवर्धन देखें। संशोधित निर्देशों को किसी भी रंग की पृष्ठभूमि के साथ काम करना चाहिए, जब तक कि वे ठोस रंग न हों।)


Ps। GIMP भी एक "रंग मिटाएं" सुविधा है (बाल्टी भरें उपकरण के लिए एक मिश्रण मोड के रूप में, या के रूप में अल्फा के लिए रंग ... है, जो के लिए उपयोगी है पूरी छवि के लिए) पारदर्शिता के पुनर्निर्माण जब आप केवल एक छवि के संस्करण एक ठोस रंग पृष्ठभूमि पर। हालाँकि, जब तक सावधानी से उपयोग नहीं किया जाता है, तब तक इसका उत्पादन करने की प्रवृत्ति होती है जो कि आप जितना अधिक पारदर्शी होना चाहते हैं, उससे अधिक पारदर्शी होता है

पी पी एस। यदि आप मूल और खंगाले गए चित्रों की तुलना बहुत सावधानी से करते हैं, तो आप देखेंगे कि वे बिल्कुल समान नहीं हैं - कुछ रंग मान 1/256 या तो बंद हैं। इसका कारण यह है कि GIMP का "डिवाइड" लेयर मोड कैसे काम करता है: अल्फा गुणा के सही व्युत्क्रम की गणना करने के बजाय, जो आउटपुट = (255 × इनपुट ) / लेयर होगा , यह वास्तव में आउटपुट = (256 × इनपुट ) / ( लेयर ) की गणना करता है।+ 1)। यह बेमेल है, जो शून्य से विभाजित होने से बचने के लिए किया जाता है, का अर्थ है कि कुछ रंगों को उनकी तुलना में थोड़े अलग मूल्य के लिए गोल किया जा सकता है। काश, मैं इसके आसपास कोई रास्ता नहीं जानता, GIMP को पैच करने के अलावा, एक प्लगइन लिखकर उस तरह से विभाजन करना जैसा हम चाहते हैं, या किसी अन्य प्रोग्राम का उपयोग करना। सौभाग्य से, हालांकि, रंग का अंतर शायद ही कभी होता है अगर वास्तव में कभी भी मानव आंख से बोधगम्य हो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.