উইন্ডোজ বিটম্যাপ (.bmp)
Microsoft স্ট্যান্ডার্ডবিটম্যাপ ইমেজ ফাইল (BMP) হলো মাইক্রোসফটের মৌলিক ডিভাইস-ইন্ডিপেন্ডেন্ট রাস্টার গ্রাফিক্স ফরম্যাট, যা সরাসরি হার্ডওয়্যার ফ্রেমবাফার সামঞ্জস্যতার সাথে আনকমপ্রেসড বা RLE-কমপ্রেসড স্ক্যানলাইন সংরক্ষণ করে।
BMP থেকে PNG-তে রূপান্তর করুন
বিনামূল্যের ব্রাউজারভিত্তিক BMP-থেকে-PNG রূপান্তরকারী। আপনার ডিভাইসেই ফাইল তাৎক্ষণিকভাবে রূপান্তর করুন।
ইনস্পেক্ট ও মেটাডেটা
অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে BMP ফাইল শনাক্ত করে:
বাইট-লেভেল হেডার সিগনেচার (ম্যাজিক বাইটস)
অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে BMP ফাইল শনাক্ত করে:
হেক্স সিগনেচার (অফসেট 0):
42 4DASCII রিপ্রেজেন্টেশন: BM
স্ট্যান্ডার্ডাইজেশন: Microsoft Windows Device-Independent Bitmap (DIB) Architecture
প্রযুক্তিগত বৈশিষ্ট্য
| কন্টেইনার আর্কিটেকচার | BITMAPFILEHEADER-এর পরে BITMAPINFOHEADER (DIB) এবং raster pixel array থাকে |
| কম্প্রেশন | আনকমপ্রেসড RAW scanline অথবা ঐচ্ছিক BI_RLE8 / BI_RLE4 run-length encoding |
| বাইট এন্ডিয়াননেস | Little-Endian (Intel x86 বাইট ক্রম) |
| কালার স্পেস | ডিভাইস-নির্ভর RGB, sRGB (BITMAPV5HEADER-এ এমবেড করা) |
| চ্যানেল ও কাঠামো | 1-bit monochrome, 4-bit / 8-bit paletted, 16-bit, 24-bit RGB অথবা 32-bit RGBA |
| সর্বোচ্চ মাত্রা | 2,147,483,647 x 2,147,483,647 পিক্সেল (signed 32-bit integer সীমা) |
| স্বচ্ছতা | আধুনিক BITMAPV3HEADER ও V5HEADER ফরম্যাটে 32-bit BGRA alpha mask সমর্থিত |
| স্ট্রিমিং ও প্রোগ্রেসিভ | স্ট্রিমিং করা যায় না; height ঋণাত্মক না হলে scanline উল্টোভাবে (নিচ থেকে ওপরে) সংরক্ষিত হয় |
টেকনিক্যাল তুলনা ম্যাট্রিক্স: BMP বনাম প্রতিযোগীগণ
| প্রযুক্তিগত বৈশিষ্ট্য | BMP (বর্তমান) | PNG | TIFF | JPG |
|---|---|---|---|---|
| কম্প্রেশন মোড | আনকমপ্রেসড / ন্যূনতম RLE | Lossless Deflate compression; ফাইল কতটা ছোট হবে তা ছবির content-এর ওপর নির্ভর করে | আনকমপ্রেসড / LZW / Zip | লস্সি DCT (~৯০% ছোট) |
| ডিকোড গতি | তাৎক্ষণিক মেমরি কপি | Deflate ডিকম্প্রেশন প্রয়োজন | LZW/ZIP ডিকম্প্রেশন প্রয়োজন | IDCT গণনা প্রয়োজন |
| স্ক্যানলাইন অর্ডারিং | নিচ থেকে উপরে (উল্টানো) | উপর থেকে নিচে | উপর থেকে নিচে / স্ট্রিপস | উপর থেকে নিচে MCU ব্লক |
| ওয়েব উপযোগিতা | খুব খারাপ (ভারী পে-লোড) | গ্রাফিক্সের জন্য চমৎকার | খারাপ (ডেস্কটপ পাবলিশিং) | ফটোগ্রাফির জন্য চমৎকার |
সাধারণ করাপশন মোড এবং হেক্স রিকভারি গাইড
ইমেজ তির্যকভাবে কাটা বা কোণাকুণি বেঁকে রেন্ডার হয়।
মূল কারণ: ভুল রো প্যাডিং গণনা (প্রতিটি স্ক্যানলাইনকে ৪-বাইটের বাউন্ডারিতে প্যাড করতে ব্যর্থ হওয়া)।
পুনরুদ্ধার: সঠিক 32-বিট স্ক্যানলাইন স্ট্রাইড প্রয়োগ করতে File2File.app ইমেজ কনভার্টার ব্যবহার করে পুনরায় এনকোড করুন।
নিরাপত্তা বিশ্লেষণ ও পার্সার অ্যাটাক ভেক্টর
অবিশ্বস্ত DIB হেডার ডাইমেনশনের উপর ভিত্তি করে বাফার বরাদ্দ করার সময় BMP ডিকোডার প্রায়শই বাফার ওভার-রিডের শিকার হয়।
পরিচিত অ্যাটাক ভেক্টর
- width * height * bpp গণনায় পূর্ণসংখ্যা ওভারফ্লো (Integer overflow) যার ফলে ছোট হিপ অ্যালোকেশন এবং বাউন্ডের বাইরে রাইট হয়।
- ক্ষতিগ্রস্ত RLE8/RLE4 রান-লেংথ এস্কেপ সিকোয়েন্স নির্ধারিত বাফারের বাইরে মেমরি রাইট ঘটায়।
- ম্যানিপুলেটেড হেডার ডাইমেনশন দ্বারা ট্রিগার হওয়া বহু-গিগাবাইট মেমরি বরাদ্দের মাধ্যমে পরিষেবা অস্বীকারের আক্রমণ।
প্রতিরক্ষামূলক সেরা অনুশীলন: গন্তব্য মেমরি বরাদ্দ করার আগে DIB হেডারের প্রস্থ, উচ্চতা এবং বিট-ডেপথের সীমা কঠোরভাবে যাচাই করুন।
ঐতিহাসিক উৎপত্তি ও মাইলফলক
প্রধান সুবিধাসমূহ ও গুণাবলী
- শূন্য কম্প্রেশন অবনতি: কোনো কম্প্রেশন আর্টিফ্যাক্ট ছাড়াই শতভাগ বিট-সঠিক পিক্সেল স্টোরেজ।
- Windows-এ BMP-এর নিজস্ব কোডেক রয়েছে, তবে অন্যান্য অপারেটিং সিস্টেম ও অ্যাপে সমর্থন ভিন্ন হতে পারে।
- সহজ ডিকোডিং জটিলতা একে এমবেডেড মাইক্রোকন্ট্রোলার এবং গ্রাফিক্স প্রোগ্রামিং শিক্ষার জন্য আদর্শ করে তোলে।
কারিগরি সীমাবদ্ধতা ও অসুবিধা
- DEFLATE বা Huffman কোডিংয়ের মতো আধুনিক এনট্রপি কম্প্রেশনের অনুপস্থিতির কারণে বিশাল ফাইলের আকার।
- ওয়েব ট্রান্সমিশন বা মোবাইল নেটওয়ার্ক বিতরণের জন্য অদক্ষ।
- বটম-আপ স্ক্যানলাইন অর্ডারিংয়ের জন্য আধুনিক টপ-ডাউন গ্রাফিক্স পাইপলাইনে উল্লম্ব সারি ইনভার্সনের প্রয়োজন হয়।
আকর্ষণীয় কারিগরি তথ্য
- OS/2-এ ব্যবহৃত গাণিতিক কার্টেসিয়ান স্থানাঙ্ক সিস্টেমের কারণে BMP ডিফল্টভাবে উল্টো করে (নিচ থেকে উপরে) ইমেজ স্ক্যানলাইন সংরক্ষণ করে।
- BMP হেডারে উচ্চতার মান নেতিবাচক সেট করা হলে, ছবিটি সোজাসুজি (উপর থেকে নিচে) ডিকোড করা হয়।
- BMP ফাইলের প্রতিটি স্ক্যানলাইন ৪ বাইটের গুণিতকে (32-বিট বাউন্ডারি অ্যালাইনমেন্ট) শূন্য দিয়ে প্যাড করা আবশ্যক।
সচরাচর জিজ্ঞাসিত প্রযুক্তিগত প্রশ্নাবলি
BMP ফাইল এত বড় কেন?
BMP ফাইল প্রতিটি পিক্সেলের জন্য কাঁচা, অসংকুচিত রঙের মান সংরক্ষণ করে, যেখানে PNG-এর মতো ফরম্যাটগুলো কোনো গুণমান না হারিয়ে সেই ডেটা সংকুচিত করে।
BMP কি স্বচ্ছতা (transparency) সমর্থন করতে পারে?
হ্যাঁ। ৩২-বিট BMP ফাইলগুলো (BITMAPV3HEADER বা নতুন সংস্করণ ব্যবহার করে) একটি ৮-বিট আলফা চ্যানেল সংরক্ষণ করতে পারে, যদিও পুরোনো সফটওয়্যারগুলোতে এর সমর্থন ভিন্ন হতে পারে।
আমি কীভাবে BMP ফাইলের আকার কমাতে পারি?
BMP ফাইলকে PNG-তে রূপান্তর করলে পিক্সেলের মান অক্ষুণ্ণ রেখে ফাইলের আকার কমতে পারে। তবে কতটা কমবে তা ছবির বিষয়বস্তু ও BMP এনকোডিংয়ের ওপর নির্ভর করে।
সম্পর্কিত BMP কনভার্সন পেয়ার
অসংকুচিত উইন্ডোজ বিটম্যাপ ফাইলগুলিকে PNG-তে রূপান্তর করলে ক্ষতিহীন সংকোচন পাওয়া যায় যা ছবির গুণমান না কমিয়ে ফাইলের আকার ছোট করে।
পোর্টেবল নেটওয়ার্ক গ্রাফিক্সকে উইন্ডোজ বিটম্যাপে রূপান্তর করা লিগেসি অপারেটিং সিস্টেম এবং হার্ডওয়্যার পাইপলাইনের জন্য সংকুচিত রাস্টার ডেটাকে একটি অসংকুচিত পিক্সেল গ্রিডে রূপান্তরিত করে।
একটি টিকিট বা রিপোর্টের জন্য একটি সমর্থিত BMP স্ক্রিনশট একটি PDF পৃষ্ঠায় রাখুন। এই রুটটি সংকুচিত BMP রূপগুলো নয়, বরং অসংকুচিত ২৪-বিট বা ৩২-বিট পিক্সেল গ্রহণ করে।