Възможно е да имате много снимки на компютъра си и те да заемат прекомерно много място, можете ли да направите нещо по въпроса? Например да ги компресирате без загуба на качество. Компресирането може да бъде много подходящо и в случай на качване на набор от снимки на облачен сървър. Именно за това ще говорим в нашата статия.
Известни са много различни графични инструменти, които ви позволяват да решите този проблем, но в действителност всичко е много по-просто. Как да компресирате изображения с помощта на помощни програми?
Съществуват два пълноценни варианта:
JPEG - най-разпространеният формат на изображения, в тази статия ще разгледаме компресирането на този формат на изображения. Ето защо нека разгледаме работата в jpegoptim, благодарение на която ще бъде възможно да се извърши компресиране на снимки от този формат.
Програмата jpegoptim - цялостен инструмент, който ви позволява да използвате за компресиране на изображения във формат JPEG, JPG и JFIF. При това компресията се извършва без загуба на качество. Помощната програма оптимизира снимките въз основа на принципите на таблицата на Хъфман. В алгоритъма на JPEG се извършва компресия, но тя работи по начин, който намалява качеството. Компресията с jpegoptim не вреди на качеството на снимката.
За да инсталирате програмата в Ubuntu, трябва да изпълните:
$ sudo apt install jpegoptim
Във Fedora, CentOS и други подобни дистрибуции първо трябва да добавите хранилището epel-release.
Това може да стане с командата:
$ sudo yum install epel-release
Или:
$ sudo dnf install epel-release
Можете да инсталирате jpegoptim от наскоро добавено хранилище:
$ sudo yum install jpegoptim
Или:
$ sudo dnf install jpegoptim
Прилагането на програмата в Linux не е много трудно. Трябва да изпълните програмата и да предадете името на файла.
Синтаксисът е следният:
$ jpegoptim опции имя_файла.jpeg
Разгледайте опциите на помощната програма:
Как да оптимизирате снимка с помощта на програмата?
Първо, нека да разгледаме първоначалния размер:
$ du image.jpg
Извършете най-простата оптимизация:
$ jpegoptim image.jpg
Нека видим размера:
$ du image.jpg
Компресията в jpg е извършена, отворете снимката с някоя програма и вижте, че качеството изобщо не се е променило. Изходното и готовото изображение са идентични.
Вляво е изображението след компресията, а вдясно е оригиналът:
Трябва да компресирате изображение до определен размер?
Трябва да пожертвате качеството:
$ jpegoptim --size=250k image.jpeg
Картината ще бъде компресирана, но качеството ще пострада. Ако имате много снимки, използвайте пакетно компресиране: отидете в папката със снимките, изпълнете командата compress
$ cd images/
$ jpegoptim *.jpg
Можете също така да изброите няколко изображения наведнъж:
$ jpegoptim image1.jpg image2.jpg
За да оптимизирате всички снимки в определена директория, можете да използвате командата xargs заедно с find. Например, оптимизирайте всички изображения в дадена директория и след това ги преместете в ~/compressed:
$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p
Компресирането на jpg изображения в Linux е много лесно и можете да се убедите в това. В следващата статия ще ви разкажем как да компресирате png.