Композит ImageMagick изменяет размер изображения перед композицией

Я использую составную команду ImageMagick, чтобы составить одно меньшее изображение поверх большего. Полученное изображение должно быть размером с фоновое изображение (большее). Кроме того, я хочу, чтобы меньший всегда был одного размера.

В настоящее время у меня есть такой простой вызов:

composite -gravity SouthWest watermark.png photo.jpg photo.jpg

Проблема в том, что я получаю водяные знаки разных размеров для разных фотографий и не знаю, как установить фиксированный размер. Я пробовал параметры -resize, -geometry и -size, но все они изменяют размер результирующего изображения, а не водяной знак.


person Lukasz Korzybski    schedule 28.03.2011    source источник


Ответы (2)


У меня была похожая проблема, и я пробовал всевозможные варианты с составной командой, чтобы попытаться заставить ее работать. В конце концов мне пришлось переключиться на использование команды convert, и я смог изменить ее размер с помощью гравитации, используя:

convert photo.jpg -gravity SouthWest -draw "image Over 0,0,200,200 watermark.png" photo.jpg

Числовые параметры для -draw: слева, сверху, ширины, высоты. См. http://www.imagemagick.org/script/command-line-options.php?#draw. Таким образом, это решение больше не использует составную команду, но, надеюсь, даст вам то, что вы хотите.

person Jeff Steil    schedule 01.06.2011

Ура!

Я нашел ответ в небольшой заметке в руководстве ImageMagick, в которой говорится, что -resize '1x1<' по существу не является операцией (и КОРОТКИМ ЗАМЫКАНИЕМ) для операции изменения размера.

Итак, если у меня есть файл image.jpg размером 1200x1200, и я накладываю его на файл copyright.png размером 600x600, используя эту команду:

composite -dissolve 50% -gravity center image.jpg copyright.png result.jpg

размер моего изображения изменяется до 600x600 в соответствии с авторским правом.png.

Однако, если я сделаю следующее:

composite -resize '1x1<' -dissolve 50% -gravity center image.jpg copyright.png result.jpg

мое выходное изображение сохраняет исходный размер 1200x1200.

person Mark Setchell    schedule 25.02.2014