एक BMP (DIB) छवि एक हेडर द्वारा बनाई जाती है, जिसके बाद 1 रंग डेटा असम्पीडित होता है (24 बीपीपी छवियों के लिए यह 3 बाइट प्रति पिक्सेल है, रिवर्स पंक्ति ऑर्डर में संग्रहीत और 4 बाइट्स पंक्ति स्ट्राइड के साथ)।
रंग डेटा के लिए बाइट्स का उपयोग रंगों का प्रतिनिधित्व करने के लिए किया जाता है (यानी उनमें से कोई भी फ़ाइल प्रारूप 2 द्वारा "अनिवार्य" नहीं है , वे सभी प्रत्येक पिक्सेल के रंग से आते हैं), और पिक्सेल रंग और बाइट्स के बीच एक परिपूर्ण 1: 1 पत्राचार लिखा है फ़ाइल में; इस प्रकार, पूरी तरह से चुने गए रंगों का उपयोग करके आप वास्तव में फाइल में जो कुछ भी चाहें लिख सकते हैं (हेडर के अपवाद के साथ)।
जब आप नोटपैड में उत्पन्न फ़ाइल खोलते हैं, तो रंग डेटा को पाठ के रूप में दिखाया जाएगा; आप अभी भी हेडर ( BM
पाठ की शुरुआत से हिस्सा) से स्पष्ट रूप से देख सकते हैं , जो फ़ाइल प्रारूप द्वारा अनिवार्य है।
मेरी राय में यह वीडियो इस तरह से किया गया था: पहले लेखक ने बिटमैप के लिए आवश्यक आकार की गणना की, और एक रंग से भरे हुए सही आकार की DIB फ़ाइल बनाई जो एक साधारण पैटर्न (जैसे सभी बाइट्स 65 => 'A'
) तक फैली हुई है ; फिर इस तरह के पैटर्न को "पेलोड" कोड के साथ बदल दिया, जैसा कि वीडियो में दिखाया गया है।
ध्यान दें कि नोटपैड के साथ पूरी चीज़ को हैंड-क्राफ्ट करना असंभव नहीं है - रंग चयनकर्ता संवाद, एक ASCII तालिका और DIB प्रारूप के एक बुनियादी ज्ञान के साथ इसे किया जा सकता है, लेकिन यह बहुत धीमी और त्रुटि-प्रवण होगा।
DIB प्रारूप के बारे में अधिक जानकारी
- RLE संपीड़ित DIBs हैं, लेकिन इस मामले में असम्पीडित बिटमैप्स का उपयोग किया जाता है (और वे वास्तव में शायद ही कभी भी उपयोग किए जाते हैं)।
- स्ट्राइड के अपवाद के साथ, जिसे 4 बाइट्स की कई पंक्तियों का उपयोग करने से बचा गया था।