आप निम्नलिखित विकल्पों का उपयोग करके GIFsicle के साथ ऐसा कर सकते हैं :
gifsicle -U --disposal=previous --transparent="#ffffff" -O2 anim.gif > anim_trans.gif
जहां anim.gif
और anim_trans.gif
स्रोत और गंतव्य फ़ाइल नाम हैं, और #ffffff
उस रंग का हेक्स कोड है जिसे आप पारदर्शी बनाना चाहते हैं (यहां, शुद्ध सफेद)।
(यहां महत्वपूर्ण विकल्प हैं -U
/ --unoptimize
और --disposal=previous
, जो एक साथ एनीमेशन को "फ्लिपबुक मोड" में बदल देते हैं, जहां प्रत्येक फ्रेम अगले एक को खींचने से पहले पूरी तरह से मिटा दिया जाता है। इससे फ्रेम को जोड़ने के बिना अतिरिक्त पारदर्शिता को जोड़ा जा सकता है। पारदर्शी भागों। -O2
विकल्प कड़ाई से आवश्यक नहीं है, लेकिन यह एनीमेशन के स्थिर भागों को फिर से ड्राइंग करने से बचने के लिए फ़्रेम का अनुकूलन करके परिणामी एनीमेशन के फ़ाइल आकार को छोटा करने की संभावना है।)
एक डेमोस्ट्रेशन के लिए , यहाँ विकिमीडिया कॉमन्स (बाएं) से मानव ग्लाइकोलाज़ I (GLO1) एंजाइम का एक एनीमेशन है, और ऊपर दिखाए गए विधि (दाएं) का उपयोग करके पारदर्शिता के साथ एक ही एनीमेशन जोड़ा गया है:
मूल एनीमेशन विकिमीडिया कॉमन्स उपयोगकर्ता विलो द्वारा , CC-बाय 3.0 लाइसेंस के तहत उपयोग किया जाता है ।
ध्यान देने योग्य एक विवरण यह है कि, यदि GIFsicle कमांड का कोई प्रभाव नहीं दिखता है, तो आपको जांचना चाहिए कि पृष्ठभूमि का रंग वास्तव में सही है या नहीं। उदाहरण के लिए, ऊपर दिखाए गए एनीमेशन के लिए, वास्तविक पृष्ठभूमि का रंग #fdfffc
(यानी शुद्ध सफेद) की बजाय ( थोड़ा बहुत पीला-हरा सफेद) निकला #ffffff
। आप वास्तव में आंख से अंतर नहीं बता सकते (या, कम से कम, मैं इस स्क्रीन पर ऐसा नहीं कर सकता), लेकिन यह GIFsicle बनाने के लिए दो रंगों को अलग-अलग मानने के लिए पर्याप्त है।
यह भी ध्यान दें कि जीआईएफ फाइलें केवल 1-बिट पारदर्शिता का समर्थन करती हैं, जिसका मतलब है कि पारदर्शी क्षेत्रों के किनारों को एंटी-अलियास नहीं किया जाएगा। यह तब तक ठीक है जब तक आप जिस पृष्ठभूमि पर एनीमेशन दिखा रहे हैं वह मूल पृष्ठभूमि रंग से बहुत दूर नहीं है, लेकिन यदि यह है, तो आप पा सकते हैं कि एनीमेशन के किनारों के आसपास कुछ बदसूरत रंग होगा । दुर्भाग्य से, इस बारे में आप बहुत कुछ नहीं कर सकते हैं, सिवाय एक अधिक उपयुक्त पृष्ठभूमि के या एनीमेशन को फिर से प्रस्तुत करने के लिए।