এই গাইডে আপনাকে দেখানো হবে কীভাবে Linux-এ সম্পূর্ণ ফ্রি ও ওপেন সোর্স সফটওয়্যার ব্যবহার করে PNG ইমেজ/গ্রাফিক্স ফাইল কমপ্রেস করতে হয়।
আপনার যদি ব্লগ বা ওয়েবসাইট থাকে যেখানে অনেক কন্টেন্ট আছে, তবে иногда ছবিগুলো পেজ লোড টাইম বাড়াতে পারে। এটি উন্নত করার জন্য কিছু পদক্ষেপ নেওয়া যাবে। আপনার ওয়েবসাইটের লোডিং বিশ্লেষণ করলে দেখতে পাবেন ছবিগুলো লোড টাইমের বড় অংশ নিচ্ছে। চলুন দেখি কীভাবে আপনার .png ইমেজগুলো কমপ্রেস করে এই পরিস্থিতি উন্নত করা যায়।
এই কাজের জন্য আমরা pngcrush টুলটি ব্যবহার করব। pngcrush হল একটি ফ্রি ও ওপেন সোর্স কমান্ড লাইন টুল যা, নাম অনুযায়ী, PNG ইমেজ কমপ্রেস করে। এর প্রজেক্ট ওয়েবসাইটে বিস্তারিত ব্যবহার পদ্ধতি আছে। এখানে আমরা বেসিক موارد কভার করব।
pngcrush ইনস্টল করা
Fedora এবং Ubuntu-এর মতো অধিকাংশ আধুনিক Linux ডিস্ট্রিবিউশনে pngcrush তাদের ডিফল্ট রিপোজিটরিতে সরাসরি পাওয়া যায়। তাই, আপনার Ubuntu কম্পিউটারে এটি ইনস্টল করতে নিচের কমান্ডটি চালান:
# sudo apt-get install pngcrush
Fedora-তে নিচের কমান্ডটি চালান:
# yum install pngcrush
pngcrush ব্যবহার করা
pngcrush একটি PNG গ্রাফিক্স ফাইলকে এর IDAT চানক এর সাইজ কমিয়ে অপ্টিমাইজ করে। প্রক্রিয়াটি সহজ নয়। pngcrush-এর ভালো দিক হলো এর লেখকরা আপনার জন্য বিষয়টি সহজ করে দিয়েছে। এতে একটি চমৎকার অপশন আছে—brute। এই অপশনটি ব্যবহার করলে আপনি কার্যকরভাবে pngcrush-কে বলছেন যে হাতে থাকা ইমেজটি কমপ্রেস করার জন্য সবচেয়ে উপযুক্ত পদ্ধতি খুঁজে বের করে ব্যবহার करे। প্রায় ১১৪টি ভিন্ন ফিল্টার ব্যবহার করা যেতে পারে, তাই এই অপশনটি বড় কাজের। এখানে কীভাবে একটি ইমেজ কমপ্রেস করতে হয় সেটি দেখানো হলো:
# pngcrush -brute -e “.compressed.png” image01.png
এখানে ব্যবহৃত দুটি অপশন হলো -brute (যেটি আমি ইতিমধ্যে ব্যাখ্যা করেছি) এবং -e। দ্বিতীয় অপশনটি pngcrush-কে বলে দিচ্ছে ফাইলনেমে কোন এক্সটেনশন যোগ করতে হবে। তাই কমপ্রেসশন প্রক্রিয়া শেষ হলে image01.png ফাইলের কমপ্রেসড ভার্সনটি image01.compressed.png নামে ডাকা হবে। আপনি ইচ্ছে করলে এক্সটেনশনটি পরিবর্তন করতে পারেন।
আপনি উপরের কমান্ডটি সামান্য পরিবর্তন করে একটি ডিরেক্টরির মধ্যে একাধিক PNG ফাইল কমপ্রেস করতে পারেন। নিচের কমান্ডটি চালান:
# pngcrush -brute -d “/var/www/html/website/images/” *.png
উপরের কমান্ডটি একটি নতুন অপশন -d ব্যবহার করেছে। এই অপশনটি pngcrush-কে বলে দিচ্ছে কমপ্রেশন সম্পন্ন হলে কমপ্রেসড ইমেজ ফাইলগুলো কোথায় রাখতে হবে। উপরের কমান্ডটি কারেন্ট ডিরেক্টরির সকল PNG ফাইল কমপ্রেস করে সেগুলো /var/www/html/website/images/ এ রাখবে।
আমি দৃঢ়ভাবে পরামর্শ দিচ্ছি যে আপনি এই টুল এবং এর অপশনগুলো সম্পর্কে প্রজেক্টের ওয়েবসাইটে আরও পড়ুন। অনেক অপশন আছে যা কমপ্রেশন প্রক্রিয়াকে দ্রুত করতে পারে বা আরও ভালো কাজ করতে পারে। নতুন ইমেজগুলো আপনার ওয়েবসাইটে डालুন এবং পেজগুলো দ্রুত লোড হচ্ছে কিনা তা দেখুন।
যদি আপনি Windows বা macOS-এ PNG কমপ্রেস করার প্রয়োজন মনে করেন, তবে আমাদের কাছে সেটিরও সমাধান আছে।