आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप BMP को GIF में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
BMP से GIF
BMP 450 KB → GIF 36 KB 12.4× छोटी
BMP 450 KB → GIF 8 KB 59.9× छोटी
BMP 450 KB → GIF 6 KB 72.9× छोटी
यही पूरा रूपांतरण है। एक 24-बिट BMP हर पिक्सेल का असली रंग रखता है — तीन बाइट, एक-एक चैनल के लिए, साढ़े सोलह लाख संभावनाएँ। GIF एक palette में index रखता है, और उस palette में सिर्फ़ 256 प्रविष्टियाँ हैं। बाक़ी सब इसी एक फ़र्क़ से निकलता है।
यह फ़ॉर्मेट की सीमा है, कोई सेटिंग नहीं — इसीलिए यहाँ कोई नियंत्रण नहीं है। GIF89a 1989 से है और CompuServe ने पहला संस्करण 1987 में प्रकाशित किया, जब 256 रंग ही स्क्रीन दिखा सकती थी। BMP भी 1987 से Microsoft का प्रकाशित किया हुआ है, जिससे दोनों पुराने सिस्टम में साथ मिलते हैं।
किसी को तय करना पड़ता है कौन-से रंग बचें, और बुरे तरीक़े से यही GIF को बदनाम करता है। हर चैनल को किसी तय ग्रिड पर गोल करना सस्ता तरीक़ा है और तस्वीर को दिखाई देने वाली पट्टियों में बदल देता है।
यहाँ का encoder k-d ट्री के भीतर लोकप्रियता के हिसाब से quantise करता है — जैसा ImageMagick करता है — इसलिए palette तस्वीर के अपने रंगों से बनता है, किसी सामान्य ग्रिड से नहीं। जो बिटमैप ज़्यादातर एक ब्रांड नीले रंग का है, वह अपनी 256 प्रविष्टियाँ उसी नीले के शेड्स पर खर्च करता है।
Dithering palette सँभालने का दूसरा तरीक़ा है — हर पिक्सेल को सबसे नज़दीकी रंग पर स्नैप करने के बजाय, दो पड़ोसी रंगों को इस पैटर्न में बिखेरना कि आँख उन्हें औसत कर ले। यहाँ यह लागू नहीं होता।
वजह यह है कि यह नुक़सान को हटाता नहीं, बस जगह बदल देता है। Dithered GIF चिकनी पट्टियों की जगह दिखने वाला छींटा लेती है, और चूँकि पैटर्न उन लंबी समान पिक्सेल की लड़ियों को तोड़ता है जिन्हें फ़ॉर्मेट संपीड़ित करता है, फ़ाइल भी बड़ी हो जाती है।
लोगो, आइकन, डायग्राम, चार्ट, स्कैन की गई लाइन ड्रॉइंग या किसी इंटरफ़ेस का स्क्रीनशॉट — इनमें आम तौर पर कुछ दर्जन अलग रंग होते हैं। सब palette में समा जाते हैं, और GIF बिटमैप से अलग नहीं दिखता।
तस्वीर इसका उल्टा है। आसमान सैकड़ों बारीक़ी से अलग नीले रंगों का एक निरंतर ग्रेडिएंट है, और उसे मुट्ठी भर में घटाना वही बैंडिंग बनाता है जिसे रजिस्ट्री फ़ॉर्मेट की जानी-पहचानी समस्या कहती है। यह सबसे ज़्यादा वहीं दिखती है जहाँ तस्वीर सबसे चिकनी है — आसमान, त्वचा, स्टूडियो background।
GIF को लोग एनिमेशन से जोड़ते हैं, और BMP में ठीक एक ही तस्वीर होती है। तो नतीजा एक-फ़्रेम वाली GIF है — ज़्यादा रखने लायक़ कंटेनर में एक स्थिर तस्वीर, जो पूरी तरह वैध फ़ाइल है।
अगर मक़सद एनिमेशन है, तो इनपुट कई तस्वीरें या कोई वीडियो होना चाहिए। एक-एक बिटमैप बदलकर उन्हें जुड़ने की उम्मीद करना काम नहीं करता — हर रूपांतरण अपनी अलग स्वतंत्र फ़ाइल बनाता है।
GIF एक मोटे तरीक़े से transparent हो सकती है — एक ही palette प्रविष्टि को अदृश्य कहा जा सकता है, बीच का कोई स्तर नहीं। यहाँ का encoder किसी को नामांकित नहीं करता, इसलिए डाउनलोड की गई फ़ाइल का हर पिक्सेल अपारदर्शी है।
यह किसी बिटमैप से शायद ही सामने आता है, क्योंकि यह साइट BMP को अपारदर्शी फ़ॉर्मेट मानती है। जहाँ cut-out बचाना ज़रूरी हो, PNG उसे दोनों सिरों पर रखता है और इसी की जगह इस्तेमाल करना चाहिए।
ज़्यादातर मामलों में बहुत हल्की। बिटमैप हर पिक्सेल पर तीन असम्पीड़ित बाइट ख़र्च करता है, जबकि GIF एक palette index रखता है और फिर index की लड़ी को संपीड़ित करता है — और समतल आर्टवर्क, जो ज़्यादातर एक जैसे index की लंबी लड़ी है, ख़ूब संपीड़ित होती है।
असली तुलना BMP से नहीं है — लगभग कुछ भी तीन असम्पीड़ित बाइट से जीत जाता है। किसी तस्वीर के लिए, उसी तस्वीर की JPEG या WebP GIF से छोटी और कहीं बेहतर दिखेगी।
ऐसी जगहें जिनकी accepted formats की सूची छोटी लिखी गई थी — पुराने फ़ोरम और wiki सॉफ़्टवेयर, कुछ मेल और newsletter टेम्पलेट, embedded और औद्योगिक इंटरफ़ेस, और वह इंटरनल टूल जिसे किसी ने दशक भर से नहीं छुआ।
सब को ज़रूरत के रूप में देखना ठीक है, पसंद के रूप में नहीं। पहले जाँच लीजिए कि ज़रूरत असली है — जिस सिस्टम ने PNG भी स्वीकार करना शुरू कर दिया हो, वहाँ पूरा पेज ग़ैर-ज़रूरी हो जाता है और नतीजा बेहतर आता है।
बिटमैप ब्राउज़र में डिकोड होता है और palette व GIF उसी टैब में बनते हैं, इसलिए कुछ अपलोड नहीं होता। सीमा 100 MB प्रति फ़ाइल है, जो लगभग 33 मेगापिक्सेल के असम्पीड़ित बिटमैप के बराबर है।
फ़ोल्डर छोड़िए और हर फ़ाइल बारी-बारी quantise और encode होती है, नाम में सिर्फ़ एक्सटेंशन बदलता है, और पूरा सेट एक ZIP बनकर लौटता है। अधिकतम चौड़ाई सेट करना समय और आउटपुट दोनों घटाता है।
| BMP | GIF | |
|---|---|---|
| पूरा नाम | Windows बिटमैप | Graphics Interchange Format |
| फ़ाइल एक्सटेंशन | .bmp, .dib | .gif |
| मीडिया टाइप | image/bmp | image/gif |
| कंप्रेशन | बिना कंप्रेशन | बिना नुक़सान — कुछ छोड़ा नहीं जाता |
| पहली बार प्रकाशित | 1987 | 1987 |
| प्रकाशक | Microsoft | CompuServe |
| विनिर्देश | — | GIF89a |
| लाइसेंस | प्रकाशित, मानकीकृत नहीं | खुला मानक |
| आज की स्थिति | पुराना, फिर भी हर जगह पढ़ा जाता है | पुराना, फिर भी हर जगह पढ़ा जाता है |
| बिट डेप्थ | 8 | 8 |
| रंग जो यह दर्ज कर सकता है | RGB, इंडेक्स्ड पैलेट | इंडेक्स्ड पैलेट |
| सबसे बड़ी इमेज | — | हर तरफ़ 65,535 px |
| ब्राउज़र में खुलता है | हर ब्राउज़र | हर ब्राउज़र |
| इसकी जगह विचारणीय | PNG, TIFF | WebP, MP4 |
GIF हर तस्वीर में ज़्यादा से ज़्यादा 256 रंग रखता है। इसमें फ़ोटो एक रंग-पट्टी तक घटा दी जाती है, और आसमान पर पट्टियाँ इसीलिए दिखती हैं। यह गुणवत्ता की सेटिंग नहीं है, यह फ़ॉर्मेट है।
GIMP BMP और GIF — दोनों पढ़ लेता है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।
GIF उन्हीं सैंपल को क़रीब आधी जगह में बाँध देता है। कुछ जाता नहीं — खोलने पर BMP फ़ाइल बिट-दर-बिट वापस मिलती है — और इसी से यह उस हर चीज़ के लिए बेहतर जगह बन जाता है जिसे आप सँभालकर रखना चाहते हैं।
दोनों का निशाना अलग काम है: BMP का प्रोग्रामों के बीच डेटा ले जाना पर, GIF का वेब पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।
BMP Microsoft का फ़ॉर्मेट है, जो 1987 में आया। यह हर चैनल पर 8 बिट में दर्ज करता है।
GIF CompuServe का है और 1987 से चला आ रहा है, और GIF89a में तय किया गया है। GIMP, Adobe Photoshop और ImageMagick इस फ़ॉर्मेट को पढ़ लेते है।
नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो। इस जोड़ी के पीछे jSquash है, तस्वीरों के संदर्भ कोडेक के WebAssembly संस्करण; आपका ब्राउज़र इसे एक बार उतारता है और फिर सहेज कर रखता है।
हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100। jSquash आपकी अपनी मशीन पर उतरता है और वहीं चलता है — इसीलिए उस पर कोई गिनती नहीं है।
GIF कंप्रेस करता है, इसलिए कुछ डेटा जाता है। तयशुदा सेटिंग पर यह पकड़ में नहीं आता; पक्का करना हो तो गुणवत्ता बढ़ा दीजिए। 256 रंगों तक घटा दिया गया, और फ़ोटो पर यह दिख जाता है।
GIF हर तस्वीर में ज़्यादा से ज़्यादा 256 रंग रखता है। इसमें फ़ोटो एक रंग-पट्टी तक घटा दी जाती है, और आसमान पर पट्टियाँ इसीलिए दिखती हैं। यह गुणवत्ता की सेटिंग नहीं है, यह फ़ॉर्मेट है।
GIF उन्हीं सैंपल को क़रीब आधी जगह में बाँध देता है। कुछ जाता नहीं — खोलने पर BMP फ़ाइल बिट-दर-बिट वापस मिलती है — और इसी से यह उस हर चीज़ के लिए बेहतर जगह बन जाता है जिसे आप सँभालकर रखना चाहते हैं।
इस पेज पर BMP और GIF के बारे में जो कहा गया है, वह जाँचा जा सकता है, और ये रहे वे दस्तावेज़ जो उसे तय करते हैं।