Поиск по сайту:
За каждой вещью в мире нам слаще гнаться, чем иметь ее (В. Шекспир).

Групповое изменение размеров изображений с помощью командной строки в Ubuntu и ImageMagick

12.02.2017
Групповое изменение размера изображений с помощью командной строки Linux и ImageMagick

Большие изображения означает большой размер страницы, что означает медленный WordPress и время загрузки страницы для пользователей. Наиболее распространенной причиной является размер изображения или отсутствие сжатия. Если вы никогда не имели каких-либо ограничения размера изображения или автоматическое изменение размеров на вашем сайте, это может быть очень удобно для пакетного изменения размеров этих изображений в Linux.

Это руководство покажет вам, как изменить размер группы файлов с расширением JPG и PNG с помощью ImageMagick на Ubuntu или Debian.

Групповое изменение размера изображений с помощью командной строки Linux и ImageMagick

Во-первых, мы должны установить ImageMagick из хранилища на Debian или Ubuntu.

sudo apt-get update
sudo apt-get install imagemagick -y

 

лучше использовать identify, чтобы получить высоту

identify -format "%wx%h" image.jpg

 

Вы увидите, разрешение: ширину, а потом высоту.

3960x2120

 

Вы можете изменить размер изображения, если оно большое, и можете указать размеры. Это позволит автоматически сохранить соотношение сторон изображения.

Обратите внимание
Программа перезаписывает исходное изображение!
convert image.jpg -resize 1040x880\> image.jpg

 

 

Проверьте измененный размер изображения

identify -format "%wx%h" image.jpg

 

Все хорошо!

1040x780

 

Теперь мы можем перейти к пакетному изменению размеров

Пакетное изменение размера изображений с Linux и Imagemagick

Создайте следующий скрипт

mkdir -p ~/scripts
nano ~/scripts/batch-image-resize.sh

 

Вставить ниже сценарий.

FOLDER это абсолютный путь к вашей папке изображений

WIDTH – максимальная ширина и HEIGHT – это максимальная высота.

Он будет перезаписывать ваши оригинальные изображения, убедитесь, что вы имеете резервную копию перед запуском!

#!/usr/bin/env bash
# Purpose: Пакетное измененние размера файлов
# Source: https://andreyex.ru
# Author: andreyex

# абсолютный путь к папке с изображениями
FOLDER="/var/www/andreyex.ru/wp-content/uploads"

# высота изображения
WIDTH=1240

# ширина изображения
HEIGHT=1000

# размер по высоте или ширине, держим пропорции, используя imagemagick
find $FOLDER -iname '*.jpg' -o -iname '*.png' -exec convert \{} -resize $WIDTHx$HEIGHT\> \{} \;

 

Нажмите Ctrl + X, Y и Enter, чтобы сохранить и выйти.

Проверьте размер папки

du -sh foldername

 

Проверьте итоговый размер

215MB

 

Команда screen обеспечит работу пакетного преобразования, даже если ваш SSH сеанс завершается.

sudo apt-get install screen

 

Создайте новый экран сеанса, нажмите пробел или введите screen

screen

 

Выполните скрипт

bash ~/scripts/batch-image-resize.sh

 

Отделить экран с помощью Ctrl + A, а затем нажмите D (снять).

Вы можете использовать команду top и смотреть процессы jpegoptim одновременно.

Заново экран

screen -r

 

Проверьте размер папки снова

du -sh foldername

 

Вы должны увидеть улучшение

175MB

 

Убедитесь в том, чтобы сжать ваши изображения с Lossless или сжатия с потерями (текущее руководство).

Если вам нужно сделать некоторые более продвинутые команды, использовать регулярное выражение, это должно помочь.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

Спасибо!

Теперь редакторы в курсе.