Оптимизация изображений в Ubuntu


Оптимизация изображения в Ubuntu

Данная статья посвящена вопросу работе с изображениями. Она будет полезна в первую очередь тем, у кого есть свой сайт, форум или блог и вопрос оптимизации изображений для них является актуальным. Ее можно разбить на три части:

1. Конвертация изображений.
2. Изменение размера изображений.
3. Оптимизация изображений.

По сути все 3 пункта могут служить для оптимизации изображений, т.к. если конвертировать png в jpg, то после этой операции размер фото будет изменен в меньшую сторону. Итак приступим.

1. Для конвертации изображений установим программу Imagemagick. Выполним в Терминале команду:

sudo apt-get install imagemagick

Чтобы переконвертировать одно изображение нужно в каталоге с фото выполнить команду:

convert image.png image.jpg

В данном случае мы переконвертировали png в jpg. Таким же образом можно изменить картинки в другие форматы:

convert image.jpg image.png

convert image.png image.bmp

Поддерживаемые форматы можно посмотреть выполнив команду:

convert -list format

Если нужно пакетно изменить большое количество изображений, тогда выполним следующую команду:

mogrify -format jpg * .png

Данная команда переконвертирует все картинки png в jpg.

2. Если у вас есть изображения с очень большим разрешением, то можно уменьшить размер командой:

convert -resize 1024 -quality 85 image.jpg out_image.jpg

-resize — разрешение выходного изображения
-quality — качество



В итоге мы получим изображение с разрешением 1024×768. Хочу напомнить, что утилита convert весьма умная и учитывает соотношение сторон не ломая картинку. Как вы видите, нет необходимости указывать 1024×768, convert в курсе разрешений, поэтому без проблем высчитает соотношение сторон и на выходе мы получим нормальную картинку!

Для массового изменения размера можно выполнить команду:

find . -iregex '.*.jpg' -exec convert '{}' -resize 1024 jpg:'{}' \;

В составе Imagemagick есть утилита mogrify. Если использовать ее, то команда будет такой:

mogrify -resize 1024 *.jpg

После выполнения этой команды все изображения будут изменены до 1024 пикселей по горизонтали. А если нужно изменить только изображения, которые больше 1024 пикселей, тогда нужно выполнить команду:

mogrify -resize 1024\> *.jpg

Также можно создать текстовый файл и вписать туда следующий текст:

#!/bin/bash
echo " "
echo "--===http://softhelp.org.ua/==--"
echo " "

for i in *.JPG
do
echo «Working on $i …»
convert -resize 1024 -quality 89 $i $i 2> /dev/null
done
echo » «
echo «… Done!»
echo » «
exit 0

Сохраним его и дадим ему название convert.sh. Теперь сделаем его исполняемым командой:

chmod +x convrt.sh

После этого нужно скопировать данный скрипт в каталог с изображениями и запустить его:

sh convert.sh

Значения -resize и -quality можете выставить нужные вам.

3. Оптимизация png и jpg изображений.
Установим утилиту optipng:

sudo apt-get install optipng

Она поддерживает следующие форматы: PNG, BMP, GIF, PNM or TIFF. Чтобы сделать оптимизацию одного изображения нужно выполнить следующую команду:

optipng -o4 image.png

Параметр -o это уровень сжатия(1-7). Чем выше цифра этого параметра, тем большее количество фильтров будет использовано для оптимизации. Пробуйте для себя опытным путем. Можно выполнять команду и без параметра -o.

Чтобы выполнить оптимизацию группы файлов выполните команду:

optipng *.png

Чтобы узнать все ключи optipng выполните команду:

optipng --help

Для оптимизации jpg изображений установим утилиту jpegoptim. Для этого выполним команду:

sudo apt-get install jpegoptim

Для оптимизаии одного изображения выполните в каталоге с картинкой команду:

jpegoptim image.jpg

Лучше использовать параметр —strip-all, который удалит всю информацию о метаданных.

jpegoptim file.jpg --strip-all

Для массовой оптимизации выполните команду:

jpegoptim *.jpg --strip-all

Подробнее о всех параметрах утилиты можно узнать выполнив команду:

jpegoptim --help

Некоторые из параметров:

-t — выводит полную информацию по сжатым изображениям.

-m<quality> — параметр, отвечающий за качество изображения, (0 — 100), чем меньше цифра, тем хуже качество изображения, но зато объем станет меньше.

jpegoptim --strip-all -m80 -t *.jpg*

На этом разрешите откланяться и удачи в освоении Убунту!


Оптимизация изображений в Ubuntu: 1 комментарий

  1. Спасибо конечно за описание imageMagic, но не хватает подробностей:
    Для массового изменения размера можно выполнить команду:
    find . -iregex ‘.*.jpg’ -exec convert ‘{}’ -resize 1024 jpg:'{}’ \;
    Что обозначает iregex, или как выбрать нужную папку, если это прочитает новичек, то сложно будет ему разобраться

Добавить комментарий для Евгений Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *