BMP वह बिटमैप इमेज फ़ॉर्मेट है जिसे Microsoft ने Windows में शामिल किया, और यह सिस्टम के शुरुआती ग्राफ़िकल वर्ज़न से ही इसका हिस्सा रहा है; इसका एक काफ़ी मिलता-जुलता संस्करण IBM के OS/2 से आया था। इसका उद्देश्य कभी भी चतुर कम्प्रेशन नहीं था। BMP लगभग वैसा ही है जैसे कोई प्रोग्राम स्क्रीन पर जो पिक्सेल रखेगा, उनका सीधा डंप, जिसे एक छोटे से हेडर में लपेट दिया जाता है जो बताता है कि उन्हें कैसे पढ़ना है। आपको आज भी BMP फ़ाइलें Windows सॉफ़्टवेयर के अंदर आइकन और संसाधन के रूप में, साधारण कैप्चर प्रोग्रामों के आउटपुट के रूप में, और एक मध्यम फ़ॉर्मेट के रूप में मिलती हैं जब एक प्रोग्राम किसी दूसरे को इमेज सौंपता है।
BMP अपनी तस्वीर कैसे सहेजता है
लगभग हमेशा अनकम्प्रेस्ड (बिना कम्प्रेशन के)। फ़ाइल एक छोटे से हेडर से शुरू होती है जिसमें दो अक्षर BM, फ़ाइल का आकार और वह स्थिति होती है जहाँ से पिक्सेल शुरू होते हैं, फिर एक दूसरा हेडर आता है जो खुद इमेज का वर्णन करता है: चौड़ाई, ऊँचाई, बिट डेप्थ और रंग कैसे व्यवस्थित हैं। इसके बाद एक वैकल्पिक पैलेट आता है, और फिर पिक्सेल ऐरे, जिसमें प्रति पिक्सेल एक मान होता है और कुछ भी हटाया नहीं जाता।
दो खास बातें अक्सर लोगों को चौंकाती हैं। पंक्तियाँ आम तौर पर नीचे से ऊपर की दिशा में स्टोर की जाती हैं, इसलिए फ़ाइल के पहले पिक्सेल तस्वीर के बाएँ-नीचे कोने के होते हैं, और हर पंक्ति को चार बाइट के गुणक तक पैड किया जाता है। बिट डेप्थ 1 बिट से शुरू होती है, जिसका मतलब दो रंग, फिर 4- और 8-बिट पैलेट्स, और आगे 16, 24 और 32 बिट तक फुल कलर। 4- और 8-बिट मोड के लिए रन-लेंथ कम्प्रेशन मौजूद है लेकिन शायद ही कभी इस्तेमाल होता है, और 32-बिट मोड में एक अल्फ़ा ट्रांसपेरेंसी चैनल हो सकता है, हालाँकि पुराना सॉफ़्टवेयर इसे अक्सर नज़रअंदाज़ कर देता है।
क्योंकि कुछ भी कम्प्रेस नहीं होता, आकार अनुमानित और बड़ा होता है: 24-बिट BMP में, तस्वीर में जो भी हो, प्रत्येक पिक्सेल पर तीन बाइट लगती हैं, इसलिए जो फ़ोटो एक छोटे JPG में आ जाती है, वह कई मेगाबाइट की हो जाती है। बदले में यह फ़ॉर्मेट पढ़ने और लिखने में बेहद आसान है, और यह लॉसलेस है: कोई भी विवरण कभी हटाया नहीं जाता।
BMP कौन सा मेटाडेटा रखता है
बहुत कम, और यही इस फ़ॉर्मेट के बारे में जानने की सबसे ज़रूरी बात है। मेटाडेटा वह विवरणात्मक जानकारी है जो कोई फ़ाइल अपने बारे में रखती है, और BMP उस समय बनाया गया था जब यह विचार महत्वपूर्ण नहीं था। BMP में ना EXIF, ना IPTC और ना ही XMP होता है, इसलिए कैमरे का मॉडल, फ़ोटोग्राफ़र का नाम, कैप्शन या GPS निर्देशांक रखने के लिए कोई जगह नहीं है। इसमें लेखक वाला फ़ील्ड नहीं है, कोई शीर्षक नहीं है और किसी भी तरह का तारीख वाला फ़ील्ड नहीं है: BMP के लिए एकमात्र तारीख वह होती है जो फ़ाइल सिस्टम रखता है, जो फ़ाइल के बाहर रहती है और फ़ाइल कॉपी होने पर बदल जाती है।
किसी रिपोर्ट में जो दिख सकता है, वह हेडरों से आता है, और वह तस्वीर का वर्णन करता है, न कि उसकी हिस्ट्री का:
- चौड़ाई, ऊँचाई और बिट डेप्थ, और यह कि पंक्तियाँ नीचे से ऊपर चलती हैं या ऊपर से नीचे।
- कम्प्रेशन विधि, जो आमतौर पर बिल्कुल भी नहीं होती।
- क्षैतिज और ऊर्ध्वाधर रेज़ोल्यूशन, जिन्हें ज़्यादा प्रचलित डॉट्स पर इंच के बजाय पिक्सेल प्रति मीटर के रूप में स्टोर किया जाता है।
- पैलेट में कितने रंग हैं, और उनमें से कितनों को इमेज महत्वपूर्ण मानती है।
एक वास्तविक प्राइवेसी से जुड़ी बात भी है। विस्तारित हेडर एक ICC कलर प्रोफ़ाइल जोड़ सकते हैं, और वे उसे एम्बेड करने के बजाय लिंक्ड रखने की अनुमति देते हैं, जिसे उस मशीन पर फ़ाइल पथ के रूप में स्टोर किया जाता है जिसने इमेज सेव की थी। ऐसा पथ किसी यूज़र नेम या किसी के फ़ोल्डरों की संरचना को उजागर कर सकता है। यह आम नहीं है, लेकिन अगर किसी रिपोर्ट में लिंक्ड प्रोफ़ाइल दिखे, तो यह एक ऐसे फ़ाइल के अंदर किसी व्यक्ति के कंप्यूटर के बारे में वास्तविक जानकारी होती है जो अन्यथा कुछ नहीं कहती।
BMP का उपयोग कब करें
BMP तब समझ में आता है जब सादगी आकार से ज़्यादा महत्वपूर्ण हो: ऐसी इमेज किसी प्रोग्राम या डिवाइस को देना जिसमें बहुत न्यूनतम डिकोडर हो, Windows सॉफ़्टवेयर के भीतर काम करना जो इसे अपेक्षित मानता है, या किसी प्रक्रिया के दो चरणों के बीच तस्वीर पास करना जहाँ उसे दोबारा कम्प्रेस करना व्यर्थ मेहनत होगा। लॉसलेस होने के कारण, इमेज की गुणवत्ता घटाए बिना इसे बार-बार सुरक्षित रूप से दोबारा सेव किया जा सकता है।
जो कुछ भी आप स्टोर, भेज या प्रकाशित करते हैं, उसके लिए PNG बेहतर विकल्प है। यह भी लॉसलेस है, इसलिए पिक्सेल बिल्कुल वैसे ही वापस आते हैं, लेकिन इसका फ़िल्टरिंग और कम्प्रेशन आम तौर पर फ़ाइल का आकार कुछ ही प्रतिशत तक घटा देता है, और यह शीर्षक, लेखक और कलर प्रोफ़ाइल रख सकता है। फ़ोटोग्राफ़ के लिए JPG या WebP और भी छोटे होंगे। BMP को सोच-समझकर, किसी तकनीकी कारण से चुनें, न कि डिफ़ॉल्ट के रूप में।