Обработка изображений в Linux

Категория: Bash

Для преобразования форматов изображений в Linux используется утилита Convert от ImageMagick.

Примечание

Для конвертации svg to png используйте утилиту inkscape:

inkscape -z -w 1024 -h 1024 input.svg -e output.png
inkscape -w 1024 -h 1024 input.svg --export-filename output.png ## Обновленные аргументы c 2020-05

Конвертация изображений

Пример простого конвертирования *.png в *.bmp:

convert image.png image.bmp

Пакетная обработка изображений

Конвертирование всех изображений в каталоге в формат jpg/jpeg:

for fname in *.png; do convert "$fname" "$fname.jpg"; done

Ресайз изображений

Ресайз изображения до точного размера обеих сторон и с сохранением пропорции:

convert IMG.png -resize 64x96 -size 64x96 xc:white +swap -gravity center -composite OUT.png

# Эти способы я нашел на просторах но не проверил! См. - http://bit.ly/19grYPI
convert IMG.png -resize 80x80  -gravity center -background blue -extent 80x80 OUT.png
convert IMG.png -resize 80x80^ -gravity center -crop 80x80+0+0 +repage OUT.png

Изменить размер изображения (уменьшить вдвое):

convert -resize 50% image.png image.bmp     # уменьшить вдвое
convert -resize 620x480 image.png image.bmp # размер в px

Поворот изображений

Повернуть изображение:

convert -rotate 260 image.png image.bmp

#convert, #imagemagic, #inkscape, #images

категория: Bash