Ако имате довољан број слика на рачунару, оне заузимају превише простора, онда се њихова величина свакако може смањити чак и без губитка квалитета. Ово такође може бити веома корисно приликом отпремања слика у складиште у облаку.
JPEG и PNG су најчешћи формати слика на интернету, тако да можете оптимизовати скоро сваку слику.
Постоји услужни програм под називом jpegoptim - алат командне линије који се може користити за компресију JPEG, JPG и JFIF слика без губитка квалитета. Услужни програм оптимизује слике на основу Хафманових табела. JPEG алгоритам већ користи компресију, али се ова компресија постиже губитком квалитета, а овде можемо оптимизовати величину без промене слике.
Да бисте инсталирали услужни програм у Ubuntu, Debian и дистрибуцијама заснованим на њему, покрените:
$ sudo apt install jpegoptim
У Федори, Ред Хату, ЦентОС-у и другим дистрибуцијама заснованим на њима ствари су мало компликованије, прво ћете морати да додате репозиторијум epel-release. То можете учинити следећом командом:
$ sudo yum install epel-release
Или:
$ sudo dnf install epel-release
Затим можете инсталирати jpegoptim из репозиторијума који сте управо омогућили:
$ sudo yum install jpegoptim
Или:
$ sudo dnf install jpegoptim
Хајде да погледамо како се користи jpegoptim. Коришћење услужног програма за компресију слика у Линуксу је веома једноставно. Да бисте то урадили, само покрените програм и проследите му име датотеке. Ево синтаксе:
$ jpegoptim optiona file_name.jpeg
Хајде да погледамо опције корисних услуга:
-d
- наведите фасциклу у коју треба сачувати готове слике;-f
- присилна оптимизација;-m
- индикатор квалитета, онемогућава компресију без губитака и поставља ниво квалитета од 0 до 100, што је већи то боље;-n
- не вршити праву оптимизацију, већ само приказивати резултат;-S
- подесите величину готове слике, можете је навести у процентима или килобајтима;-o
- заменити оригиналну датотеку;-p
- сачувај временске ознаке;-P
- сачува дозволе за датотеке.Погледајмо како оптимизовати слике у Линуксу користећи jpegoptim. Прво, погледајмо оригиналну величину:
$ du image.jpg
Затим вршимо најједноставнију оптимизацију:
$ jpegoptim image.jpg
Затим поново погледамо величину:
$ du image.jpg
Као што видите, jpg компресија је функционисала, и отварање слике у било ком графичком програму неће показати никакве разлике или погоршање квалитета, оригинална и готова слика ће бити идентичне. Лево је оптимизована, десно је оригинал:
Ако желите, можете компресовати слику на одређену величину, али тада неће бити без губитака:
$ jpegoptim --size=250k image.jpeg
Слика ће бити компресована, али ће квалитет бити приметно лошији. Ако има много слика, можете врло лако користити пакетну компресију, за то само идите у фасциклу са сликама, а затим покрените команду компресије наводећи маску уместо датотеке, на пример:
$ cd images/ jpegoptim *.jpg
Такође можете навести више слика одједном:
$ jpegoptim image1.jpg image2.jpg
Да бисте оптимизовали све слике у одређеној фасцикли, можете користити команду xargs са командом find. На пример, компресујте све слике у тренутној фасцикли и преместите их у фасциклу ~/compressed:
$ find . -name "*.jpg" | xargs jpegoptim -d ~/compressed -p
То је то, сада знате како компресовати jpg слике у Линуксу. Затим ћемо причати о томе како компресовати png. Ово је такође веома једноставно.
PNG или преносива мрежна графика је растерски формат слике дизајниран да замени GIF формат, који је лош у погледу компресије и приказивања боја. Величине PNG слика могу значајно да варирају у зависности од неколико фактора, као што су дубина боје, испреплетање, филтер пре компресије, коришћени алгоритам компресије итд.
OptiPNG је конзолни услужни програм који вам омогућава да оптимизујете PNG слике. Наиме, компресујете величину, враћате метаподатке, проверавате интегритет итд. Са OptiPNG-ом можете компресовати датотеке без губитка квалитета, баш као што смо урадили са Jpeg форматом.
Ако користите Ubuntu, програм се налази у званичним репозиторијумима и можете га веома лако инсталирати. Да бисте инсталирали optipng у Debian, Ubuntu и дериватима, откуцајте:
$ sudo apt install optipng
У Red Hat-у, CentOS-у или Fedora-и све се ради потпуно исто, само са другачијим менаџером пакета:
$ sudo yum install optipng
Или:
$ sudo dnf install optipng
Синтакса услужног програма је веома једноставна. Можете га користити на исти начин као и jpegoptim:
$ optipng ioptions file_name.png
Хајде да погледамо опције корисних услуга:
-backup
- сачувајте копије измењених датотека;-dir
- фасцикла за писање датотека;-force
- присилно снимање излазне датотеке;-out
- записати излазну датотеку у наведену;-simulate
- не извршавати никакве радње, већ само приказивати резултат;-o
- подесите ниво компресије од 0 до 7.Сада покушајмо да оптимизујемо png у Линуксу. Прво, погледајмо величину датотеке:
$ df -h image.png
Да бисте извршили компресију слике, користите следећу команду:
$ optipng image.png
Затим поново погледамо величину, у овом примеру разлике нису видљиве јер је слика веома мала, али на већој величини биће значајне:
Овде је такође компресија слика без губитака у png формату за Линук, што значи да ћете добити потпуно исту слику само мању. Такође можете одредити ниво компресије, он не утиче на квалитет слике, али време рада програма директно зависи од тога. Вредност може бити од 0 до 7 и што је вредност већа, то је компресија јача и дуже ће обрада трајати:
$ optipng -o 7 impge.png
За групну обраду слика можете користити исти принцип као када радите са jpeg-ом:
$ cd images/ $ optipng *.png
Сада знате како да оптимизујете слике на Линуксу.