Rose debug info
---------------

Linux — конвертировать PNG в JPG с изменением размера

Во-первых, убедитесь, что все ваши системные пакеты обновлены

sudo apt update
sudo apt upgrade

Устанавливаем imagemagick

sudo apt install imagemagick

Проверяем

convert logo: logo.gif

Mogrify или Convert

IM использует convert для обработки картинок по одной, а mogrify обычно нужен для пакетной обработки.

Но для пакетной обработки огромного количества фотографий, например более 100 000 рекомендую использовать find. Где фигурные скобки — это найденный файл, а слеш с точкой запятой — конец команды -exec.

find ./ -type f -exec команда {}  \;

Конвертировать PNG в JPG с прозрачностью
https://stackoverflow.com/questions/47954470/convert-png-with-transparency-to-jpg

convert *.png -background white -alpha remove -set filename:currentfile '%t' '%[filename:currentfile].jpg'

Преобразовать в квадрат

convert -define jpeg:size=1024x1024 *.png -thumbnail '1024x1024>' -background white -alpha remove -gravity center -extent 1024x1024 -set filename:currentfile '%t' '%[filename:currentfile].jpg'

Изменить размер

С сохранением пропорций можно указать только ширину или высоту, опустив второй параметр
width x hight

convert -resize x324 original_image.jpg -quality 90 resize_image.jpg
или
convert -resize x324 *.jpg -quality 90 -set filename:currentfile '%t' ../thumbnail/'%[filename:currentfile]_324.jpg'

Проверим размер у папки с фотографиями (должна быть раз в 10 меньше исходного)

du -h --max-depth=1 | sort -hr
Поделиться
Отправить
 37   2022   unix