क्या मेरे पास प्रति फ्रेम 256 से अधिक रंगों के साथ एनिमेटेड जीआईएफ हो सकता है?


31

क्या मेरे पास प्रति फ्रेम 256 से अधिक रंगों के साथ एनिमेटेड जीआईएफ हो सकता है? मैं एक एनिमेटेड GIF करना चाहता हूं, लेकिन सीमित रंग का पैलेट इसे रगड़ की तरह दिख रहा है।

जवाबों:


42

हां, आप कुछ सीमाओं के साथ कर सकते हैं।

बक्से से इंद्रधनुष

जीआईएफ प्रति-फ्रेम (स्थानीय) पट्टियों का समर्थन करता है और इसमें एक "जैसा है" फ्रेम निपटान तरीका है जो कई फ़्रेमों के संयोजन की अनुमति देता है।

मैंने इस तकनीक का उपयोग करते हुए [एक GIF एनकोडर " gifski " लिखा है । यह प्रति फ्रेम लगभग 1000-3000 रंगों के साथ एनिमेशन बनाता है।

पकड़ यह है कि आप इसका फायदा तभी उठा सकते हैं जब फ्रेम के बीच छवि के सभी पिक्सल नहीं बदलते। इसलिए, यदि आपके पास अभी भी पृष्ठभूमि के सामने कुछ चल रहा है, तो आपके पास 256 से अधिक रंग का एनीमेशन हो सकता है - चलती वस्तु 256 रंगों तक सीमित होगी, लेकिन पृष्ठभूमि को विभिन्न पट्टियों के साथ कई फ़्रेमों से बनाया जा सकता है। चालाक डिथरिंग के साथ, चलती वस्तुओं के कुछ पिक्सल का पुन: उपयोग करना भी संभव है ।


क्या आपका मतलब है कि केवल एनिमेटेड छवियों में 256 से अधिक रंग हो सकते हैं? क्या इसे वैसे भी हैक करना संभव है कि हम 256 से अधिक रंगों के साथ एक स्थिर छवि प्रदर्शित कर सकते हैं?
पचेरियर

4
@ स्पेसर यह केवल एनिमेशन के लिए काम करता है। सिद्धांत रूप में यह एक स्थिर जीआईएफ के लिए संभव होगा, लेकिन विरासत / बग के कारण ब्राउज़र 0एक सेकंड के ~ 1/16 के रूप में फ्रेम देरी की व्याख्या करते हैं , इसलिए सबसे अच्छा में आपके पास एनीमेशन हो सकता है जो एक स्थिर छवि बनाता है। स्थिर के लिए आप वैसे भी PNG / JPG के साथ बेहतर हैं।
कोर्नेल

3
Yea gif को स्टैटिक इमेज के डोमेन में एक भी फायदा नहीं दिखता है।
पचेरियर

2
@GeorgeEdison आप कर सकते हैं, लेकिन GIF में भयानक रूप से कमजोर संपीड़न है, इसलिए यह पीएनजी या किसी अन्य चीज का उपयोग करने की तुलना में हर तरह से खराब होगा।
कोर्नेल

1
@ g491 gifsicle इस तरह की फाइलों का निर्माण कर सकता है (पारदर्शिता और निपटान के साथ कई gifs का उपयोग करें = मोड रखें)
Kornel

5

नहीं, तुम नहीं कर सकते; GIF प्रारूप केवल 256 रंगों की अनुमति देता है।


3
प्रति फ्रेम। इससे पहले कि आप व्यावहारिकता के मुद्दों का उल्लेख करें, मुझे पूरा यकीन है कि बिंग अभी इन सच-रंग GIF का उपयोग कर रहा है।
जॉन चाडविक

1
मैं इस gif पर 32697 रंग देखता हूं: phil.ipal.org/tc.html और goo.gl/DBdg1o
Pacerier

3

कम से कम, सिद्धांत रूप में, आप जीआईएफ को ढेर कर सकते हैं और अतिरिक्त रंगों को पारदर्शी बना सकते हैं।

  1. सबसे पहले, आप प्रत्येक फ्रेम को कॉपी करते हैं ताकि आपके पास प्रत्येक में से दो हों।
  2. फिर, संवेदनशीलता कम रंग के साथ क्षेत्र का चयन करें ताकि यह आधी तस्वीर का चयन करे।
  3. फिर, चयन के अंदर सब कुछ मिटा दें।
  4. अब, चयन को उल्टा करें।
  5. फिर, अगले फ्रेम पर जाएं और फिर से सब कुछ मिटा दें।
  6. अंतिम परिणाम सहेजें ( raw-ani.gif)।
  7. आधा फ्रेम हटा दें।
  8. एक नया फ़ाइल नाम ( ani1.gif) के साथ सहेजें ।
  9. पहले से सहेजे गए संस्करण को लोड करें।
  10. फ़्रेम के अन्य आधे को हटा दें।
  11. फिर से बचाओ ( ani2.gif)।

निरपेक्ष स्थिति के साथ कुछ HTML हैक करें और ani2.gifशीर्ष पर रखें ani1.gif

चार, आठ, 16 परतों या जो आप चाहते हैं बनाने के लिए प्रक्रिया को दोहराएं।

आप raw-ani.gifपरिणाम को गति भी दे सकते हैं और कोर्नेल ने जो वर्णन किया है, वह है।


2

कोई जिफ़ फाइलें 256 रंगों तक सीमित नहीं हैं।


4
जब यह सच होता है, तो सच्चे रंग की GIF हैक की कुछ प्रमुख सीमाएँ होती हैं: यह उन छवि दर्शकों पर काम नहीं करता है जो एनीमेशन का समर्थन नहीं करते हैं (या उन ब्राउज़र में जहाँ उपयोगकर्ता ने GIF एनीमेशन को अक्षम किया है), यह कुछ में बहुत धीरे-धीरे प्रस्तुत कर सकता है। ब्राउज़र जो एक न्यूनतम फ्रेम विलंब को लगाते हैं , और यह बड़ी फ़ाइलों का उत्पादन करता है जो खराब रूप से संपीड़ित करते हैं। यह साफ है, लेकिन वास्तविक दुनिया में वास्तव में बहुत उपयोगी नहीं है। यदि आपको 256 से अधिक रंगों की आवश्यकता है तो बस PNG का उपयोग करें। (काश, MNG / APNG ब्राउज़र समर्थन वास्तव में धब्बेदार होता है।)
इल्मरी करोनन

जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
मार्क हेंडरसन

1

एक वास्तविक रंग gif होना संभव है और ऑनलाइन विभिन्न लेख हैं, हालांकि वे बहुत व्यावहारिक नहीं हैं।

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