30 сентября 2014 г.

ImageMagick: добавление фона к изображению


Как добавить фон(background) к изображению с помощью ImageMagick?

Допустим, у нас есть изображение с прозрачным фоном.
Чтобы добавить к нему белый фон необходимо выполнить команду:
convert input.png -background white -extent 100% output.png

-background white определяет цвет фона. Вместо названия конкретного цвета можно использовать его шестнадцатеричное представление — "#FFFFFF". Допускается и представление в RGB формате — «rgb(255,255,255)». (Внимание! В последних двух случаях, использование кавычек обязательно!)
convert input.png -background "#FFFFFF" -extent 100% output.png
convert input.png -background "rgb(255,255,255)" -extent 100% output.png


Все команды приведут к такому результату:
Опция -extent 100% определяет размеры фона(допускается указывать размеры в пикселях). Например:
convert input.png -background "#FFFFFF" -extent 80% output.png
 
При этом происходит обрезка изображения от левого верхнего угла. Опция -gravity center производит обрезку от центра изображения.
convert input.png -background "#FFFFFF" -gravity center -extent 80% output.png
Опция -gravity может принимать следующие параметры: NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast.