মূল অংশে যান

কোন ইমেজ ফরম্যাট ব্যবহার করবেন?

একটি প্রশ্নেই সিদ্ধান্ত হয়, আর বাকি প্রায় সবকিছু তা থেকেই আসে। মানুষ যেসব ভুল বেছে নেয়, তার বেশির ভাগ আসে অন্য একটি প্রশ্নের উত্তর দিতে গিয়ে।

সর্বশেষ পর্যালোচনা:

যে প্রশ্নে সিদ্ধান্ত হয়

ছবিটি কি ধারাবাহিক রঙের টোনে তৈরি, নাকি সমতল অংশ আর তীক্ষ্ণ কিনারায়?

একটি ফটো ধারাবাহিক টোনের: লক্ষ লক্ষ সূক্ষ্মভাবে আলাদা রং, পাশাপাশি দুটি পিক্সেলও হুবহু এক নয়, আর বস্তুর কিনারা ছাড়া কোথাও কোনো শক্ত সীমারেখা নেই। স্ক্রিনশট, লোগো, চার্ট, ডায়াগ্রাম বা রেখাচিত্র ঠিক উল্টো: একই রঙের বড় বড় অংশ, যেগুলো পুরোপুরি তীক্ষ্ণ সীমায় এসে মেলে।

প্রতিটি ইমেজ ফরম্যাট এর একটির জন্য তৈরি, আর অন্যটিতে খারাপ। লসি ফরম্যাট — JPEG, এবং লসি মোডে WebP বা AVIF — এমন খুঁটিনাটি ফেলে দেয়, যা চোখ সহজে খেয়াল করে না; ধারাবাহিক টোনে এটি চমৎকার কাজ করে, কিন্তু প্রতিটি তীক্ষ্ণ কিনারার চারপাশে দৃশ্যমান আভা তৈরি করে। লসলেস ফরম্যাট — PNG, এবং লসলেস মোডে WebP বা AVIF — পুনরাবৃত্তি খুঁজে কমপ্রেস করে; সমতল রঙে এটি চমৎকার কাজ করে, আর ফটোর নয়েজে প্রায় কাজই করে না। ভুলটি বেছে নিলে ফাইল হয় কুৎসিত, নয়তো বিশাল হয়, আর সাধারণত মানুষ দুটির একটিই খেয়াল করে।

সংক্ষিপ্ত উত্তর

কোনো মানুষ, ইমেইল বা পুরোনো সিস্টেমে যাবে এমন ফটো: কোয়ালিটি মোটামুটি ৮৫-এ JPG। সব জায়গায় খোলে, ছোট, আর এই সেটিংয়ে মান কমা চোখে পড়ে না।

স্ক্রিনশট, লোগো, চার্ট বা ডায়াগ্রাম: PNG। প্রতিটি কিনারা হুবহু তীক্ষ্ণ থাকে, আর সমতল অংশ প্রায় শূন্যে কমপ্রেস হয়। স্বচ্ছতা থাকলে, দুটি ক্লাসিক ফরম্যাটের মধ্যে PNG-ই একমাত্র, যা তা ধরে রাখতে পারে।

আপনার নিয়ন্ত্রণে থাকা ওয়েব পেজে যাবে এমন যেকোনো কিছু: WebP, অথবা এনকোডিংয়ের সময় দিতে পারলে AVIF। দুটিই JPG আর PNG-এর কাজ আরও ভালোভাবে করে — WebP-এর লসি ও লসলেস দুই মোডই আছে এবং দুটিতেই স্বচ্ছতা রাখে, আর AVIF একটি ফটো সমমানের JPEG-এর মোটামুটি অর্ধেক সাইজে রাখে।

লোগো বা আইকন: থাকলে SVG, কারণ এটি যেকোনো সাইজে তীক্ষ্ণ থাকে আর সাধারণত যেকোনো পিক্সেল সংস্করণের চেয়ে ছোট। পিক্সেলে রূপান্তর করুন শুধু সেসব জায়গার জন্য, যেখানে ভেক্টর পড়া যায় না — ফেভিকন, সোশ্যাল প্রিভিউ ছবি, ইমেইল আর অ্যাপ স্টোর।

প্রতিটি ফরম্যাট যা পারে না

ফিচারের তালিকার চেয়ে সীমাবদ্ধতাগুলো বেশি কাজের, কারণ মানুষ আটকায় সেখানেই।

JPG-তে স্বচ্ছতা নেই। একটুও নেই, কখনো থাকবেও না। স্বচ্ছ ব্যাকগ্রাউন্ডের PNG-কে JPG-তে কনভার্ট করলে সেই ব্যাকগ্রাউন্ড একটি নিরেট রঙে ভরে যায় — এ কারণেই JPG হিসেবে সেভ করা লোগো সাদা বাক্সে মোড়া হয়ে আসে। প্রতিবার সেভ করলেই এর মান কিছুটা কমে, তাই একই JPG বারবার এডিট করে সেভ করলে প্রতিবারই এটি আরেকটু খারাপ হয়।

ফটোর জন্য PNG ভীষণ খারাপ। ভুল নয় — লসলেস এবং বিশ্বস্ত — কিন্তু বিশাল, কারণ ফটোর নয়েজ সেই অনুমান-পদ্ধতিকে হারিয়ে দেয়, যা দিয়ে এটি কমপ্রেস করে। একটি ফটোর PNG সাধারণত সেই JPEG-এর দশ গুণ বড় হয়, যার সঙ্গে কেউ পার্থক্যই ধরতে পারত না।

WebP-এর যেকোনো দিকে কঠোর সর্বোচ্চ সীমা ১৬,৩৮৩ পিক্সেল, যা ফটোর জন্য যথেষ্ট, কিন্তু প্যানোরামা, দীর্ঘ ওয়েব পেজের পুরো-পেজ স্ক্রিনশট বা স্ক্যান করা ম্যাপের জন্য সীমিত।

AVIF এনকোড হতে সময় নেয়। বড় ফটো প্রতি কয়েক সেকেন্ড, কারণ এটি ভিডিও কমপ্রেশনের একটি স্থির ফ্রেম, আর সেই খোঁজাখুঁজিই সাইজ কমায়। ডিকোডিং তাৎক্ষণিক, যা একবার এনকোড হয়ে বহুবার দেখা হয় এমন জিনিসের জন্য ঠিক বিনিময়।

কম্প্যাটিবিলিটির সীমা আসলে কোথায়

এখানেই পরামর্শ দুই দিক থেকেই বছরের পর বছর পুরোনো হয়ে থাকে। বর্তমানের প্রতিটি ব্রাউজার WebP আর AVIF পড়ে, এবং বহু বছর ধরেই পড়ে — তাই ওয়েবসাইটের ক্ষেত্রে এগুলোর বিরুদ্ধে কম্প্যাটিবিলিটির যুক্তি শেষ। picture এলিমেন্টের মাধ্যমে JPEG ফলব্যাকসহ AVIF দিলে সেই দুশ্চিন্তাটুকুও থাকে না।

ব্রাউজারের বাইরে চিত্রটা আলাদা, আর এখানেই মানুষ উল্টো দিকে ভুল করে। পুরোনো ইমেইল ক্লায়েন্ট, অনেক ডেস্কটপ ইমেজ ভিউয়ার, প্রচুর এন্টারপ্রাইজ সফটওয়্যার আর বেশির ভাগ প্রিন্ট ওয়ার্কফ্লো এখনো WebP বা AVIF নির্ভরযোগ্যভাবে পড়ে না। তাই নিয়মটা সাল নিয়ে নয়, গন্তব্য নিয়ে: আপনার নিয়ন্ত্রণে থাকা ওয়েব পেজের জন্য নতুন ফরম্যাট, আর কোনো মানুষ বা সিস্টেমের হাতে দেওয়া ফাইলের জন্য JPG বা PNG।

কনভার্ট করলে ক্ষতি ফেরে না

ইমেজ ফরম্যাট নিয়ে সবচেয়ে প্রচলিত ভুল ধারণাটি সরাসরি বলা দরকার: লসি ফাইলকে লসলেসে কনভার্ট করলে কিছুই ফিরে আসে না। JPG-কে PNG বানালে JPEG-এর ত্রুটিগুলো নিখুঁতভাবে সংরক্ষিত হয় — চৌকো ব্লক, লেখার চারপাশের ঢেউ, গাঢ় রঙের কিনারায় রঙের লেপটে যাওয়া — কারণ ততক্ষণে সেগুলো পিক্সেলের মান, ছবির আসল কনটেন্ট থেকে আলাদা করা যায় না। PNG-টি বড় হয়, আর তাতে হুবহু একই দৃশ্যমান ক্ষতি থাকে।

তবু সঠিক সময়ে এটি করা সার্থক। এডিটিং শুরুর আগে PNG-তে কনভার্ট করলে পরের প্রতিটি সেভে আর কোনো ক্ষতি হয় না, যেখানে JPG এডিট করে বারবার সেভ করলে প্রতিবার মান কমে। কাজের শুরুতেই এটি করুন, চারবার সেভ করার পরে নয়।

উল্টো দিকেও একই যুক্তি খাটে। JPEG থেকে AVIF বা WebP-তে এনকোড করলে নতুন এনকোডার পুরোনোটির ত্রুটিগুলো উত্তরাধিকারসূত্রে পায় এবং সেগুলো ধরে রাখতে আসল বিট খরচ করে — তাই মূল ফাইল থেকে একবার এনকোড করা ফাইল দুবার এনকোড করা ফাইলের চেয়ে ছোটও, ভালোও। সবসময় আপনার কাছে থাকা সেরা সংস্করণ থেকে শুরু করুন।

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

JPG-এর জন্য কোন কোয়ালিটি সেটিং ব্যবহার করব?

মোটামুটি ৮৫-তে এসে বেশির ভাগ মানুষ আর পার্থক্য দেখতে পায় না, আর এখানেই সাইজের রেখা সমতল হয়ে আসে — এর বেশি দিলে খুব সামান্য লাভের জন্য অনেক বাইট খরচ হয়। প্রায় ৭০-এর নিচে গেলে ত্রুটিগুলো দৃশ্যমান হয়, প্রথমে আকাশের মতো মসৃণ গ্রেডিয়েন্টে।

WebP কি লসি নাকি লসলেস?

দুটিই — এটি একই এক্সটেনশন ভাগ করা দুটি ফরম্যাট, আর কোয়ালিটি সেটিংই ঠিক করে কোনটি। সর্বোচ্চের নিচে যেকোনো মানে পাবেন লসি WebP, যা ফটোর জন্য চমৎকার, কিন্তু লেখার স্ক্রিনশটের জন্য ভুল, কারণ সেখানে সাবস্যাম্পল করা রং প্রতিটি তীক্ষ্ণ কিনারায় আভা ফেলে। সর্বোচ্চ দিলে পাবেন লসলেস।

যে JPG থেকে বানিয়েছি, আমার PNG তার চেয়ে বড় কেন?

কারণ PNG প্রতিটি পিক্সেলকে তার প্রতিবেশীদের থেকে অনুমান করে কমপ্রেস করে, আর JPEG-এর ত্রুটিগুলো সেই অনুমানের কাছে নয়েজের মতো দেখায়। গাছপালা বা পশমের JPG থেকে বিশাল PNG হয়; স্ক্রিনশটের JPG থেকে হয় মাঝারি সাইজের।

GIF কি এখনো কোনো কাজে ব্যবহার করা উচিত?

শুধু অ্যানিমেশনের জন্য, আর তখনও একটি ছোট ভিডিও বা অ্যানিমেটেড WebP নাটকীয়ভাবে ছোট আর মসৃণ। স্থির ছবির জন্য GIF-এ রং সীমিত ২৫৬টিতে আর স্বচ্ছতা মাত্র এক বিটের, তাই এর কিনারা খাঁজকাটা আর রং আনুমানিক — সব দিক থেকেই PNG ভালো।

ফরম্যাট বদলালে কি প্রতিবারই মান কমে?

লসি এনকোডারের ভেতর দিয়ে প্রতিবার গেলেই কমে, আর তা কখনো ফেরে না। লসলেস কনভার্শনে — PNG থেকে লসলেস WebP, BMP থেকে PNG — কমে না। বেশির ভাগ ঝামেলা এড়ানোর নিয়ম: উচ্চমানের একটি মূল ফাইল রাখুন, আর বিতরণের কপিগুলো একটি থেকে আরেকটি নয়, সেই মূল ফাইল থেকেই বানান।