Логотип

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

Групповое изменение размера изображений с помощью командной строки 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

 

Читать  Как перегенерировать миниатюры или новые размеры изображений в WordPress

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

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 или сжатия с потерями (текущее руководство).

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

Читать  Immich впервые выпускает стабильную версию 2.0

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

Редактор: AndreyEx

Рейтинг: 4.4 (11 голосов)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

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

Это может быть вам интересно


Спасибо!

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

Прокрутить страницу до начала