মূল অংশে যান

BMP থেকে PNG কনভার্ট করুন

BMP প্রতিটি পিক্সেল কাঁচা অবস্থায় রাখে — PNG একই পিক্সেল লসলেসভাবে রাখে অনেক কম সাইজে। একই ছবি, আধুনিক ফরম্যাট, কিছুই সংরক্ষণ করা হয় না।

  • কখনো সংরক্ষণ করা হয় না
  • কোনো লাইন নেই, অপেক্ষা নেই
  • সাইনআপ নেই, ওয়াটারমার্ক নেই

যেভাবে কাজ করে

1

আপনার BMP যোগ করুন

যতগুলো খুশি .bmp ফাইল পেজে টেনে এনে ছাড়ুন।

2

কনভার্ট করুন

প্রতিটি হয়ে যায় লসলেসভাবে কমপ্রেস করা PNG — হুবহু একই পিক্সেল, অনেক ছোট ফাইল।

3

ডাউনলোড

আলাদা আলাদা, বা একটি ZIP হিসেবে সেভ করুন।

একই পিক্সেল, সাইজ অনেক কম

BMP সাধারণত একেবারেই কমপ্রেস করা থাকে না। প্রতিটি পিক্সেল আক্ষরিকভাবে লেখা থাকে, প্রতিটি তিন বা চার বাইট, আর সারিগুলো চার-বাইটের সীমা পর্যন্ত প্যাড করা — তাই ১৯২০×১০৮০ একটি স্ক্রিনশট প্রায় ৮ MB, আর বারো মেগাপিক্সেলের একটি ছবি প্রায় ৩৬ MB হয়। PNG হুবহু একই পিক্সেল রাখে এবং লসলেসভাবে কমপ্রেস করে, তাই ছবির কিছুই বদলায় না আর ফাইল সাধারণত পাঁচ থেকে বিশ গুণ ছোট হয়। বড় সমতল অংশসহ স্ক্রিনশট বা ডায়াগ্রামে অনুপাতটা এর ওপরের দিকে থাকে। এটি সেই বিরল কনভার্শন, যাতে কোনো ছাড়ই দিতে হয় না।

ফলাফলে একটি বিষয় যাচাই করে নেওয়া ভালো: ৩২-বিট BMP-র স্বচ্ছতা নির্ভরযোগ্য নয়, আর তা এখানে করা কোনো কিছুর কারণে নয়। Windows বিটম্যাপের মূল হেডারে আলফা চ্যানেলের কোনো ধারণাই ছিল না, তাই প্রতিটি পিক্সেলের চতুর্থ বাইট অব্যবহৃত থাকত; পরের হেডারগুলো তা ঠিকভাবে সংজ্ঞায়িত করেছে, কিন্তু অনেক সফটওয়্যার এখনো পুরোনো রূপে লেখে আর অনেক ডিকোডার এখনো নতুনটি উপেক্ষা করে। তাই যে BMP তৈরি করা প্রোগ্রামে স্বচ্ছ দেখায়, তা অস্বচ্ছ হিসেবে ডিকোড হতে পারে, আলফা বাইটকে প্যাডিং ধরে। এটি গুরুত্বপূর্ণ হলে ভরসা করার আগে PNG-টি দেখে নিন।

অন্য অদ্ভুত বিষয়টি হলো সারি। প্রথা অনুযায়ী BMP তার সারিগুলো নিচ থেকে ওপরে রাখে — প্রথম দিকের গ্রাফিক্স হার্ডওয়্যার যেভাবে মেমোরি অ্যাড্রেস করত, তা থেকে পাওয়া সিদ্ধান্ত — আর ওপর-থেকে-নিচের ফাইল বোঝায় ঋণাত্মক উচ্চতা দিয়ে। ডিকোডার দুটোই সামলায়, তাই বাস্তবে এটি চোখে পড়ে না — শুধু এ কারণেই আধা-লেখা বা কাটা পড়া BMP কাটা না দেখিয়ে উল্টো দেখায়।

প্রচলিত সব Windows ভ্যারিয়েন্ট কনভার্ট হয়। ফরম্যাটের অদ্ভুত কোণগুলো — RLE-কমপ্রেসড ৪-বিট ও ৮-বিট বিটম্যাপ, নব্বইয়ের দশকের শুরুর OS/2 হেডার, আর বিরল এমবেডেড-JPEG রূপ — ডিকোডারের ওপর নির্ভর করে, আর এগুলোর কোনোটি বাতিল হলে এলোমেলো ছবি না দিয়ে তা জানিয়ে দেওয়া হবে।

অন্য কিছু দরকার হলে

PNG আরও ছোট করতে oxipng -o 4 out.png বা optipng প্রায়ই একটিও পিক্সেল না বদলে আরও দশ থেকে ত্রিশ শতাংশ কমায়, আর pngquant প্যালেটে নামিয়ে আনে বলে আরও অনেক বেশি কমায় — এটি লসি, তবে স্ক্রিনশট বা ডায়াগ্রামে সাধারণত চোখে পড়ে না।

পুরো একটি ফোল্ডারের জন্য ImageMagick-এর magick mogrify -format png *.bmp এক লাইনেই সবকিছু কনভার্ট করে, আর খুব বড় ছবিতে libvips অনেক কম মেমোরিতে একই কাজ করে। BMP-গুলো গ্রাফিক না হয়ে ফটোগ্রাফ হলে PNG পুরোপুরি ভুল গন্তব্য — JPG হবে দশ ভাগের এক ভাগ সাইজের, এমন মানের পার্থক্যে যা কেউ দেখতে পায় না।

সাধারণ প্রশ্নোত্তর

মান কি একটুও কমে?

একদমই না — PNG লসলেস। PNG ডিকোড করলে ঠিক সেই পিক্সেলগুলোই পাওয়া যায়, যা BMP-তে আছে; শুধু অপচয় হওয়া বাইটগুলো বাদ যায়।

কতটা ছোট হবে?

বিষয়বস্তু অনুযায়ী সাধারণত ৫০–৯৫% ছোট — BMP কার্যত আনকমপ্রেসড, তাই প্রায় যেকোনো কিছুই এর চেয়ে ভালো।

আজকাল BMP আসেই বা কোথা থেকে?

পুরোনো টুলের Windows স্ক্রিনশট, MS Paint, বৈজ্ঞানিক যন্ত্র, এমবেডেড সিস্টেম আর পুরোনো সফটওয়্যার থেকে। এই ফরম্যাট Windows 3.0-র সময়ের।

আমার ফাইল কি কোথাও সংরক্ষণ করা হয়?

না — কনভার্শন কিছুই সংরক্ষণ করে না।

BMP যা ধরতে পারে, PNG কি তার সবই পারে?

হ্যাঁ, তার চেয়েও বেশি — PNG-তে আছে আসল স্বচ্ছতা, যা BMP কার্যত কখনো বহন করেনি।

জেনে রাখুন: অস্বাভাবিক BMP ভ্যারিয়েন্ট (RLE-কমপ্রেসড, OS/2 হেডার) আপনার ব্রাউজারের ডিকোডারের ওপর নির্ভর করে; প্রচলিত সব Windows BMP কাজ করে।

এই টুলটি আপনার ওয়েবসাইটে যোগ করুন

যেকোনো ব্লগ, ক্লাসের পেজ বা হেল্প আর্টিকেলের জন্য ফ্রি। একটি স্নিপেট পেস্ট করলেই আপনার ভিজিটররা আপনার পেজেই এটি ব্যবহার করতে পারবেন।