Проблема с синтаксисом Imagemagick -geometry

#imagemagick

#imagemagick

Вопрос:

Следующая команда работает отлично.

 montage src-1.png src-2.png -geometry 400x 5 5 dst.png
  

Но следующая команда возвращает ошибку.

 montage src-1.png src-2.png -geometry 400 5 5 dst.png
montage: invalid argument for option '-geometry': 400 5 5 @error/montage.c/MontageImageCommand/1011.
  

Читая эту документацию, вторая команда должна быть правильной. Если задана только ширина, синтаксис геометрии должен быть 400 5 5 . Он работает без смещения.

Комментарии:

1. Какой именно вопрос, пожалуйста? Вы, кажется, говорите, что первая команда работает правильно, как указано в документации, а вторая команда работает не совсем так, как мы ожидаем.

2. Извините, в документации говорится, что вторая команда должна быть правильной. Я просто редактирую свой вопрос.

Ответ №1:

У вас есть -geometry 400x 5 5 «x» в первой команде. Во втором, который генерирует ошибку, у вас -geometry 400 5 5 нет «x».

Попробуйте это…

 ... -geometry 400x 5 5 ...
  

Я протестировал эти команды с помощью «montage» в ImageMagick v6 и получил ту же ошибку при пропуске «x». Очевидно, что при использовании одного значения для ширины и высоты вы все равно должны включать «x», чтобы IM распознал его как допустимый аргумент геометрии.

Комментарии:

1. Я использую ImageMagick 7.0.10-34, но, если я не ошибаюсь, в документации говорится, что вы не должны ставить «x».

2. Возможно, документация неверна, но команда работает правильно для меня с «x» с IMv6.9.11-29 и IMv7.0.10-31 и выдает ошибку в обоих случаях без нее. Так что, похоже, это решение.

3. Действительно, я просто немного удивлен, что документация неверна.

4. Этот документ правильный, но это общий документ для многих функций, таких как изменение размера, обрезка, экстент и т. Д. Некоторые функции не имеют смысла во всех ситуациях. При использовании -geometry со смещениями вы должны указать x, чтобы указать, является ли размер W или H. Таким образом, 400x или x400 или 400×400.

5. Это было неясно, потому что «Ниже, {size} относится к любой из приведенных выше форм». и 400x не является одной из вышеупомянутых форм.