उपयोग कैसे करें
- कोई .bmp फ़ाइल ड्रॉप एरिया पर खींचकर छोड़ें, चुनने के लिए क्लिक करें, या कोई इमेज पेस्ट करें।
- लॉसलेस और कहीं छोटे परिणाम के लिए “इसमें बदलें” में PNG चुनें, या अगर प्राप्त करने वाले सिस्टम को BMP ही चाहिए तो उसे रखें।
- बचत देखने के लिए मूल आकार की तुलना एनकोड किए गए आकार से करें।
- परिणाम को data URI, रॉ Base64, img टैग, CSS नियम या Markdown इमेज के रूप में कॉपी या डाउनलोड करें।
BMP फ़ाइल क्या है?
BMP, Windows का डिवाइस-स्वतंत्र बिटमैप फ़ॉर्मैट है। यह पिक्सेल को पंक्ति-दर-पंक्ति सहेजता है, लगभग हमेशा बिना कंप्रेशन के (4-बिट और 8-बिट इमेज के लिए एक सरल रन-लेंथ मोड मौजूद है)। इसका MIME टाइप image/bmp है, हालाँकि कुछ सिस्टम image/x-ms-bmp बताते हैं, और Base64 आउटपुट Qk से शुरू होता है, जो एनकोड किए गए अक्षर BM हैं।
कंप्रेशन न होने के कारण आकार सीधे आयामों से तय होता है। 800 × 600 पिक्सेल की 24-बिट इमेज को लगभग 1.4 MB चाहिए, और उसका Base64 लगभग 1.9 MB टेक्स्ट होता है।
एनकोड करने से पहले PNG में कन्वर्ट करें
PNG भी लॉसलेस है, इसलिए PNG में कन्वर्ट किया गया एक सामान्य 24-बिट बिटमैप अपने पिक्सेल ठीक वैसे ही रखता है, जबकि फ़ाइल छोटी हो जाती है, अक्सर कई गुना, और स्क्रीनशॉट व सपाट ग्राफ़िक्स के लिए तो इससे भी कहीं ज़्यादा। BMP के रूप में सहेजी गई फ़ोटो के लिए अच्छी गुणवत्ता पर JPEG या WebP और भी छोटी स्ट्रिंग देते हैं। हर इमेज के लिए दिखाए गए मूल और एनकोड किए गए आकार से अंतर आसानी से दिख जाता है।
मूल BMP कब रखें
कुछ प्राप्तकर्ता असली बिटमैप की अपेक्षा करते हैं: पुराने Windows सॉफ़्टवेयर, लेबल और रसीद प्रिंटर, माइक्रोकंट्रोलर से चलने वाले छोटे डिस्प्ले, या ऐसे टेस्ट फ़िक्सचर जिन्हें किसी फ़ाइल से बाइट-दर-बाइट मेल खाना ज़रूरी है। ऐसे मामलों में कन्वर्ज़न बंद रखें; तब Base64 आउटपुट फ़ाइल की हूबहू कॉपी होता है। सभी प्रमुख ब्राउज़र data:image/bmp इमेज दिखा सकते हैं, लेकिन वेब पेज और ईमेल के लिए PNG बेहतर फ़ॉर्मैट है।
Python और Pillow से स्क्रिप्ट में यही कन्वर्ज़न:
from PIL import Image
import base64, io
buf = io.BytesIO()
Image.open('scan.bmp').save(buf, 'PNG')
uri = 'data:image/png;base64,' + base64.b64encode(buf.getvalue()).decode()
अक्सर पूछे जाने वाले प्रश्न
मेरी BMP Base64 स्ट्रिंग इतनी लंबी क्यों है?
BMP हर पिक्सेल को बिना कंप्रेशन के सहेजता है, और Base64 उस पर एक-तिहाई और जोड़ देता है। पहले PNG में कन्वर्ट करने से आमतौर पर कोई बारीकी खोए बिना स्ट्रिंग काफ़ी छोटी हो जाती है।
क्या BMP को PNG में बदलने से गुणवत्ता घटती है?
नहीं। PNG एक लॉसलेस फ़ॉर्मैट है, इसलिए पिक्सेल वही रहते हैं। केवल उन्हें सहेजने का तरीक़ा बदलता है।
क्या ब्राउज़र data:image/bmp URI दिखा सकते हैं?
हाँ, Chrome, Edge, Firefox और Safari सभी BMP दिखाते हैं। ईमेल क्लाइंट और कई ऑनलाइन प्लेटफ़ॉर्म इसे कम भरोसेमंद तरीक़े से संभालते हैं, इसलिए वहाँ PNG ज़्यादा सुरक्षित विकल्प है।
क्या BMP पारदर्शिता का समर्थन करता है?
32-बिट BMP अल्फ़ा चैनल सहेज सकता है, लेकिन प्रोग्राम और ब्राउज़र उसे एक जैसा नहीं संभालते। अगर आपको पारदर्शिता चाहिए, तो PNG या WebP में कन्वर्ट करें।