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 کو سوچ سمجھ کر، کسی تکنیکی وجہ سے منتخب کریں، نہ کہ بطور ڈیفالٹ۔