Монтаж ImageMagick всегда включает ярлыки

В документации ImageMagick говорится, что если вы используете montage без каких-либо причудливых вариантов, он должен просто выровнять ваши изображения без каких-либо украшений и с некоторым интервалом.

Это не происходит со мной. Вот мои два входных изображения:

Изображение1

Это два отдельных PNG размером 100x100 с красным фоном. Теперь, если я бегу montage 1.png 2.png out.png, он производит файл изображения out.png это выглядит так:

out.png

Вы можете заметить, там есть ярлыки. Я перепробовал все, и я не могу удалить эти ярлыки. Например, добавив -label "" Команде выдает это:

out2.png

Это не очевидно из-за белого фона, но пространство для надписей все еще является частью изображения, там просто ничего нет.

Конечным результатом является то, что я хочу плотно упаковать эти изображения (так что эти два будут производить 200x100 png), и я ожидаю, что команда будет выглядеть примерно так: montage -geometry 100x100+0+0 -label "" -background blue 1.png 2.png out3.png Здесь я сделал синий фон, чтобы выделить область "метки", в финальной версии это не должно быть необходимо. Вот что производит эта команда:

out3.png

Размер изображения составляет 200x118, что означает, что для надписей добавлено 18 пикселей. Удаление аргумента метки для команды ничего не делает, кроме как превращение метки в число. Я думаю, что немного схожу с ума, я перепробовал десятки вариантов этой команды, и ничто не избавляет от этого "пространства меток". Учитывая, что они отображаются по умолчанию, а документация указывает, что это не должно, я начинаю подозревать, что это ошибка в ImageMagick, но опять же: схожу с ума. Я думаю, что я, вероятно, просто упускаю что-то очевидное.

Я нахожусь на macOS, с ImageMagick, установленным через Homebrew, хотя я попробовал с версией непосредственно с их сайта, и она не работала. Это то, что montage -version доклады:

Version: ImageMagick 7.0.5-7 Q16 x86_64 2017-05-20 http://www.imagemagick.org
Copyright: © 1999-2017 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules
Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib

2 ответа

Решение

Геометрия по умолчанию: +2+2, поэтому, если вы хотите, чтобы они были добавлены без пробелов, вы должны использовать -geometry +0+0.

Кроме того, ваши файлы имеют метки меток 1 и 2 соответственно. Поэтому, даже если я изменю имена файлов на a.png и b.png, при монтаже будут применены метки 1 и 2. Метки всегда будут отображаться либо в метаданных, либо при использовании -label "XYZ" или -label "% F". Если вы не хотите, чтобы метки отображались, удалите метки. Но даже если вы используете -label "" или -set label "", он все равно оставляет пустую метку в метаданных. Так что это оставит пустое пространство внизу.

magick montage 1.png 2.png -бэк-синий фон -установить метку "" -геометрия +0+0 result1.png

введите описание изображения здесь

После этого вы можете сделать односторонний (защищенный) трим, чтобы удалить белый. Но вам нужно будет перейти от монтажа к магии (конвертировать) и заполнить черным с противоположной стороны.

Однако вы можете просто использовать канал с pnm: для удаления метки, так как pnm не несет свойства метки. (Если вы используете miff: или tiff:, даже если вы используете -strip, он будет иметь свойство label). Так что эта команда будет работать как +append, хотя было бы проще использовать +append, если вы не хотите использовать пробел

magick 1.png 2.png pnm:- | magick montage - -background blue -geometry +0+0 result2.png

введите описание изображения здесь

В качестве временного обходного пути просто используйте это, пока он не будет разобран:

convert [12].png +append out.png

Или, если вы хотите большую сетку:

convert [123].png +append \( [456].png +append \) -append out.png

Обратите внимание, что +append будет добавлять бок о бок, тогда как -append добавлю ниже.

Другие вопросы по тегам