BMP ফাইল ফরম্যাট, যা বিটম্যাপ ইমেজ ফাইল বা ডিভাইস ইন্ডিপেনডেন্ট বিটম্যাপ (DIB) ফাইল ফরম্যাট নামেও পরিচিত, রাস্টার গ্রাফিক ্স ইমেজগুলিকে উপস্থাপন করে। এই ফাইল ফরম্যাটটি সাধারণত বিভিন্ন রঙের গভীরতার 2D ডিজিটাল ইমেজ সংরক্ষণের জন্য ব্যবহৃত হয় এবং এটি এর সরলতা এবং বিস্তৃত সামঞ্জস্য দ্বারা চিহ্নিত করা হয়। BMP ফরম্যাটটি এর সূচনার পর থেকে বেশ কয়েকটি সংশোধনের মধ্য দিয়ে গেছে, BMP2 ভেরিয়েন্টটি প্রাথমিক এবং সবচেয়ে সহজ সংস্করণগুলির মধ্যে একটি। এই ব্যাখ্যাকারটি BMP2 ফাইল ফরম্যাটের প্রযুক্তিগত জটিলতার মধ্যে প্রবেশ করার লক্ষ্য রাখে, এর কাঠামো, উপাদান এবং ব্যবহারের একটি বিস্তৃত বোঝার প্রদান করে।
BMP2 ফাইল ফরম্যাট, বিশেষভাবে উইন্ডোজ এবং সামঞ্জস্যপূর্ণ অপারেটিং সিস্টেমগুলিতে সহজে বাস্তবায়নের জন্য ডিজাইন করা হয়েছে, এমন একটি যুগকে প্রতিফলিত করে যেখানে সফ্টওয়্যার সরলতা এবং সরাসরি হার্ডওয়্যার ইন্টারফেসিং সর্বাধিক গুরুত্বপূর্ণ ছিল। আধুনিক ইমেজ ফরম্যাটগুলির বিপরীতে যা সংকোচন এবং রঙের সঠিকতাকে অগ্রাধিকার দেয়, BMP2 একটি ইমেজের সরল, সরাসরি উপস্থাপনার উপর ফোকাস করে যা পিক্সেল হিসাবে সরাসরি একটি ডিসপ্লে এর গ্রিডে ম্যাপ করা হয়। এই পদ্ধতিটি BMP2 ফাইলগুলিকে দ্রুত এবং জটিল প্রক্রিয়াকরণ ছাড়াই রেন্ডার করতে সক্ষম করে, ফাইলের আকার বা ট্রান্সমিশন দক্ষতার বিষয়ে উদ্বেগ ছাড়াই দ্রুত ইমেজ লোডিংয়ের প্রয়োজনীয় অ্যাপ্লিকেশনগুলির জন্য এগুলিকে উপযুক্ত করে তোলে।
একটি BMP2 ফাইল একটি সহজ পদ্ধতিতে সাজানো হয়েছে, যার মধ্যে একটি ফাইল হেডার, একটি বিটম্যাপ তথ্য হেডার, একটি রঙ প্যালেট (যদি প্রযোজ্য হয়) এবং প্রকৃত বিটম্যাপ ডেটা রয়েছে। ফাইল হেডার, যা প্রায়শই BITMAPFILEHEADER হিসাবে উল্লেখ করা হয়, ফাইল সম্পর্কে সাধারণ তথ্য সরবরাহ করে, যেমন এর প্রকার, আকার এবং বিটম্যাপ ডেটাতে অফসেট। এই হেডারটি নিশ্চিত করে যে ফাইলটি একটি BMP হিসাবে সনাক্ত করা হয়েছে এবং মৌলিক বৈধকরণ এবং পার্সিং অপারেশনগুলিতে স হায়তা করে। BMP ফাইলগুলির স্বতন্ত্র বৈশিষ্ট্য হল তাদের স্বাক্ষর, সাধারণত 'BM' অক্ষর, যা ফাইলের শুরুতে পাওয়া যায়।
ফাইল হেডারের পরে বিটম্যাপ তথ্য হেডার রয়েছে, যা BMP2 ফাইলগুলিতে BITMAPINFOHEADER হিসাবে পরিচিত। এই সেগমেন্টটি ইমেজ সম্পর্কে বিস্তারিত তথ্য সরবরাহ করে, যার মধ্যে রয়েছে মাত্রা (প্রস্থ এবং উচ্চতা), রঙের প্লেনের সংখ্যা, প্রতি পিক্সেলে বিট (যা রঙের গভীরতা নির্ধারণ করে), সংকোচন পদ্ধতি (যদি থাকে, যদিও BMP2 সাধারণত সংকোচন ব্যবহার করে না), কাঁচা বিটম্যাপ ডেটার আকার এবং পিক্সেল প্রতি মিটারে অনুভূমিক এবং উল্লম্ব রেজোলিউশন। BITMAPINFOHEADER পরবর্তী পিক্সেল ডেটা ব্যাখ্যা করার ক্ষেত্রে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, অ্যাপ্লিকেশনগুলিকে ইমেজটি সঠিকভাবে রেন্ডার করতে সক্ষম করে।
রঙের গভীরতা, বিটম্যাপ তথ্য হেডারে সংজ্ঞায়িত মূল পরামিতিগুলির মধ্যে একটি, মূলত ফাইলের দৃশ্যমান মান এবং আকারকে প্রভাবিত করে। BMP2 ফাইলগুলি বিভিন্ন রঙের গভীরতা সমর্থন করতে পারে, মনোক্রোম (1-বিট) থেকে, 4-বিট এবং 8-বিট (যা একটি রঙ প্যালেট ব্যবহার করে) থেকে 24-বিট (সত্য রঙ, প্যালেট ছাড়া)। রঙের গভীরতায় প্রতিটি বৃদ্ধি রঙের একটি বিস্তৃত পরিসরের অনুমতি দেয় তবে ফাইলের আকারও আনুপাতিকভাবে বাড়ায়, কারণ প্রতিটি পিক্সেলের রঙ উপস্থাপন করার জন্য আরও ডেটা প্রয়োজন হয়।
যদি BMP2 ফাইল প্রতি পিক্সেলে 24 বিটের কম রঙের গভীরতা ব্যবহার করে, তাহলে বিটম্যাপ তথ্য হেডারের পরে একটি রঙ প্যালেট অন্তর্ভুক্ত করা হয়। এই প্যালেটে রঙের একটি পূর্বনির্ধারিত সেট থাকে যার মধ্যে প্রতিটি এন্ট্রি সাধারণত 4 বাইট দ্বারা উপস্থাপিত হয়: লাল, সবুজ এবং নীল রঙের উপাদানগুলির জন্য তিনটি এবং প্যাডিংয়ের জন্য একটি (বা ভবিষ্যতের ব্যবহারের জন্য সংরক্ষিত)। প্যালেটটি প্রতিটি পিক্সেলের রঙ সরাসরি নির্দিষ্ট না করে রঙগুলিকে রেফারেন্স কর ে ইমেজগুলিকে আরও দক্ষতার সাথে সংরক্ষণ করতে দেয়। এটি বিশেষভাবে সীমিত রঙের পরিসর সহ ইমেজগুলির জন্য বা ফাইলের আকার কমানো অগ্রাধিকার হলে উপকারী।
BMP2 ফাইলের মূলটি হল বিটম্যাপ ডেটা নিজেই, যা বিটম্যাপ তথ্য হেডারে নির্দিষ্ট করা হিসাবে এর প্রস্থ এবং উচ্চতার সাথে মিল রেখে একটি গ্রিডে ইমেজের পিক্সেলগুলিকে উপস্থাপন করে। প্রতিটি পিক্সেলের রঙ ফাইলের রঙের গভীরতার উপর নির্ভর করে নির্ধারিত হয়: সত্য রঙের মোডে, রঙগুলি সরাসরি তাদের লাল, সবুজ এবং নীল উপাদান দ্বারা নির্দিষ্ট করা হয়; সূচীযুক্ত রঙের মোডে, প্রতিটি পিক্সেল রঙ প্যালেটে একটি এন্ট্রিকে রেফারেন্স করে। উল্লেখযোগ্যভাবে, BMP2 ফাইলগুলিতে বিটম্যাপ ডেটা একটি