ইমেজ ম্যাজিক - ফাইলের আকার হ্রাস করা

Imeja Myajika Pha Ilera Akara Hrasa Kara



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

ইমেজ ম্যাজিক ইনস্টল করা হচ্ছে

এর জন্য আমাদের ইমেজ ম্যাজিকের প্রয়োজন হবে, তাই প্রথমে এটি ইনস্টল করা যাক:







sudo apt- get install ইমেজ ম্যাজিক



গুণমান সুইচ

ছবি/ছবি/ভিডিওর আকার কমানোর প্রথম এবং সহজ উপায় হল ছবির গুণমান কমানো। মানের সুইচ JPEG/MIFF/PNG কম্প্রেশন স্তরের প্রতিনিধিত্ব করে। JPEG এবং MPEG-এর জন্য, 1-এর মান সর্বোচ্চ স্তরের কম্প্রেশন এবং সর্বনিম্ন ছবির গুণমানকে প্রতিনিধিত্ব করে, যেখানে 100 হল সর্বনিম্ন স্তরের কম্প্রেশন এবং সর্বোত্তম মানের।



তাহলে আসুন একটি উদাহরণ দেখি; আমি একটি গাছের যে ছবিটি তুলেছি তার রেজোলিউশনের দিক থেকে 4624×3468 এবং 5.70226MiB। এটি মূল ছবি, একটি JPEG, নির্দিষ্ট হতে.






এখন, বিন্দু হল যে আমরা ছবির আকার কমাতে চাই। তাই আসুন মান স্যুইচ সেটিংসকে একটু ভিন্ন কিছুতে সেট করার চেষ্টা করি এবং দেখুন কি হয়।

Tree_4624x3468.jpg রূপান্তর করুন -মান 75 tree_4624x3468_quality75.jpg
Tree_4624x3468.jpg রূপান্তর করুন -মান 25 tree_4624x3468_quality25.jpg



আমি একটি ছবির জন্য 75 এবং অন্যটির জন্য 25 গুণমান কমিয়েছি। আসল চিত্রটি ছিল 5.70226MiB, কিন্তু 75 এর মানের চিত্রটি 2.74664MiB হয়ে গেছে যেখানে 25 মানের চিত্রটি 1358250 (1.295MiB) হয়েছে। এখানে, আমি ব্যক্তিগতভাবে 75% মানের সাথে যেতে চাই।



এখন, যেহেতু আমরা ছবির প্রকৃত গুণমান সম্পর্কেও চিন্তা করি, তাই আমি আপনাকে ফটোগুলি দেখাই:


tree_4624x3468_quality75.jpg


tree_4624x3468_quality25.jpg

আপনি দেখতে পাচ্ছেন, গুণমানটি খুব বেশি প্রভাবিত হয়নি, তবে ফাইলের আকার ছোট।

এখন, আমি PNG এর সাথে একই কাজ করার চেষ্টা করেছি, এবং আমি যা পেয়েছি তা হল:


সুতরাং, এটি 23501600B (22.413MiB) থেকে 22.2854MiB হয়েছে। একটি JPEG-এর জন্য, এটি 5.70226MiB থেকে 1.295MiB হয়েছে। PNG এর মতো ক্ষতিকারক বিন্যাসগুলির জন্য, গুণমানের সুইচ অনেক কঠিন।

ছবি রিসাইজ করা

ছবি আকার পরিবর্তন অন্য উপায়. উদাহরণ স্বরূপ:

Tree_4624x3468.jpg রূপান্তর করুন - আকার পরিবর্তন করুন পঞ্চাশ % x50 % tree_4624x3468_resize50 % .jpg



আপনি স্পষ্ট দেখতে পাচ্ছেন, যে ছবিটি ছিল 4624×3468 সেটি ছিল 5.70226MiB, যেখানে 2312×1734 ছিল মাত্র 1.56287MiB।

সংজ্ঞায়িত সুইচ

সংজ্ঞায়িত সুইচটি একটি কী এবং এর প্রদত্ত মান অনুসরণ করে।

- সংজ্ঞায়িত কী{=value}…

সম্ভাব্য মূল মানগুলির তালিকা এখানে পাওয়া যাবে .

PNG এর জন্য, আপনি png:compression-level=value ব্যবহার করতে পারেন। মানটি 0 থেকে 9 পর্যন্ত যেকোনও হতে পারে। 0 এর মান আপনাকে সর্বনিম্ন কম্প্রেশন প্রদান করবে, তবে এটি দ্রুত, এবং 9 এর মান আপনাকে সেরা কম্প্রেশন প্রদান করবে কিন্তু এটি সবচেয়ে ধীর। মাঝখানে যে কোন কিছু যায়।

উদাহরণ স্বরূপ:

tree_4624x3468.png রূপান্তর করুন - সংজ্ঞায়িত করুন png: কম্প্রেশন-লেভেল= 9 tree_4624x3468_compression9.png



বেশিরভাগ ক্ষেত্রে, একজন প্রোগ্রামার যা চায় তা হল একটি ছবির জন্য সর্বোচ্চ আকার সেট করা। সুতরাং, একটি উদাহরণের জন্য ধরুন যে আপনি একটি ছবির জন্য সর্বাধিক আকার সেট করতে চান। আপনি এটি করতে সংজ্ঞায়িত সুইচ ব্যবহার করতে পারেন।

-jpeg সংজ্ঞায়িত করুন: extent={size}

Tree_4624x3468.jpg রূপান্তর করুন - সংজ্ঞায়িত করুন jpeg: পরিমাণ =1MB tree_4624x3468_extent1MB.jpg



আপনি উপরের ছবিতে দেখতে পাচ্ছেন, এটি এটিকে 4624×3468 এর রেজোলিউশন এবং 0.897MiB এর আকারে সেট করেছে। সুতরাং, আপনার অনুরোধ অনুযায়ী, ImageMagick একটি ফটো তৈরি করেছে যা সর্বোচ্চ 1MB সাইজের থেকে কম।

স্ট্রিপ সুইচ

আমরা ক্যামেরা দিয়ে তোলা ছবি মেটাডেটা সহ আসে। মেটাডেটা অপসারণ করলেও কিছু জায়গা খালি হতে পারে। ImageMagick-এ, আমরা স্ট্রিপ সুইচ ব্যবহার করে এটি করি।

Tree_4624x3468.jpg রূপান্তর করুন - ফালা tree_strip.jpg



এখানে, আপনি দেখতে পাচ্ছেন, আসল ছবিটি হল 4624×3468 এবং 5.7MiB। কিন্তু যে ছবিটির মেটাডেটা ছিনিয়ে নেওয়া হয়েছে সেটি হল 4.65MiB।

কালারস্পেস সুইচ

আপনি কালারস্পেস স্যুইচ আপ করার চেষ্টা করতে পারেন। এই প্রথম উদাহরণে, আমি এটিকে ধূসর করে দেব।

Tree_4624x3468.jpg রূপান্তর করুন -রঙের স্থান gray tree_gray.jpg -গুণমান 75



আপনি দেখতে পাচ্ছেন, চিত্রের আকারের হ্রাস খুব বেশি নয়, তবে একটি হ্রাস রয়েছে - 5.70226MiB থেকে 4.44997MiB পর্যন্ত।

বিকল্পভাবে, আমি নিম্নলিখিত চেষ্টা করেছি:

tree_4624x3468.png রূপান্তর করুন -রঙের স্থান gray tree_graypng.png



একটি PNG এর ক্ষেত্রে, আমার আসল ফটো, যা 4624×3468, হল 22.42MiB, কিন্তু যখন আমি এটিকে ধূসর করি, তখন এটি 8.88MiB হয়ে যায়।

রং সুইচ

আপনি ব্যবহৃত রঙের সংখ্যা পরিবর্তন করতেও বেছে নিতে পারেন। এই বিশেষ ক্ষেত্রে, আমি একটি PNG তে শুধুমাত্র 16 টি রং ব্যবহার করতে যাচ্ছি।

tree_4624x3468.png রূপান্তর করুন -রঙ 16 tree_4624x3468_16colors.png



আসল PNG ছিল 4624×3468 এবং 22.42MiB। যাইহোক, যখন আমি রং পরিবর্তন করে মাত্র 16 করেছি, তখন ছবিটি 4.27MiB আকারে পরিণত হয়েছিল। এবং ফটো এই মত দেখায়:


tree_4624x3468_16colors.png

একাধিক সুইচ ব্যবহার করে

এখন, আপনাকে একটি ফটোতে একটি সুইচ ব্যবহার করতে হবে না! আপনি একটি ছবিতে যতগুলি চান ততগুলি সুইচ একত্রিত করতে পারেন৷

সুতরাং, উদাহরণ 1, আমি একটি গাছের একটি PNG ছবি তুলতে যাচ্ছি। এই আসল ফটোটি 4624×3468 এবং 22.42MiB আকারের, এবং আমি একাধিক সুইচ ব্যবহার করতে যাচ্ছি এবং দেখতে যাচ্ছি যে এটি আমাকে কোথায় নিয়ে যায়।

tree_4624x3468.png রূপান্তর করুন - ফালা - আকার পরিবর্তন করুন 75 % x75 % - সংজ্ঞায়িত করুন png: কম্প্রেশন-লেভেল= 9 -রঙের স্থান ধূসর  tree_4624x3468_reducedsize.png



তাই এই PNG, যার আসল আকার 22.42MiB, 5.3MiB এর ছবিতে পরিণত হয়েছে। ফলস্বরূপ চিত্রটি আসল আকারের প্রায় 23%।

তাই পরবর্তী, আসুন একটি JPG চেক আউট.

Tree_4624x3468.jpg রূপান্তর করুন -গুণমান 75 - আকার পরিবর্তন করুন 75 % x75 % - ফালা -রঙ 16 tree_4624x3468_reducedsize.jpg



সুতরাং, এখানে, JPG-এর জন্য, আমরা একটি রঙিন চিত্রের জন্য 5.7MiB এর একটি আসল আকার থেকে প্রায় 2.2MiB-এ চলে এসেছি।

কিন্তু যদি এটি রঙিন না হয়:

Tree_4624x3468.jpg রূপান্তর করুন -গুণমান 75 - আকার পরিবর্তন করুন 75 % x75 % - ফালা -রঙের স্থান gray tree_4624x3468_reducedsize.jpg



এখানে, আমরা একটি ধূসর চিত্রের জন্য 5.7MiB এর একটি আসল আকার থেকে 1.6MiB-তে গিয়েছি।

আপনি চাইলে, আপনি আকারের উপরও সর্বোচ্চ সীমা সেট করতে পারতেন। বিন্দু হল যে আপনি যদি সত্যিই এটিতে আপনার মন সেট করেন তবে আপনি আকারটি হ্রাস করতে পারেন।

উপসংহার

একটি নির্দিষ্ট উদ্দেশ্যের জন্য কোড লেখার সময়, আমরা ছবিগুলিও ব্যবহার করার প্রবণতা রাখি এবং কখনও কখনও, আমরা আকারে খুব বড় ছবিগুলি রাখতে পারি না। এই ধরনের ক্ষেত্রে, প্রোগ্রামারের প্রধান ফোকাস ছবির আকার এবং ছবির গুণমানের মধ্যে একটি আপস খুঁজে বের করা। আমরা খুব কম মানের ছবি ব্যবহার করতে চাই না, তবে আমরা বড় আকারের ছবিও রাখতে পারি না। সুতরাং, আমাদের ছবির আকার কমানোর উপায় দরকার। ImageMagick বিভিন্ন সুইচের আকারে আপনার ছবির আকার কমানোর বিভিন্ন উপায় অফার করে - গুণমান, আকার পরিবর্তন, সংজ্ঞায়িত করা ইত্যাদি। আপনি ছবির আকার সামঞ্জস্য করতে তাদের এক বা একাধিক ব্যবহার করতে পারেন।