Как объединить одну команду изменения размера и 3 составные команды в одну команду в imagemagick? - PullRequest
1 голос
/ 18 апреля 2019

В настоящее время я должен сделать:

convert src.jpg -resize 600 -quality 70 -colorspace sRGB scaled_images/one.jpg

composite -dissolve 25% -gravity center overlay_image1.png scaled_images/one.jpg   scaled_images/one.jpg

composite -dissolve 60% -gravity southeast overlay_image2.png scaled_images/one.jpg   scaled_images/one.jpg

composite -dissolve 85% -gravity north overlay_image3.png scaled_images/one.jpg   scaled_images/one.jpg

Из-за нескольких циклов сжатия / распаковки качество конечного изображения будет ухудшаться.

Как мне объединить все вышеперечисленное в одной команде?

Я использую imagemagick версии 7.0.8-40.

1 Ответ

2 голосов
/ 18 апреля 2019

Во-первых, при использовании ImageMagick версии 7 вы должны использовать команду «magick» вместо «convert». Тем не менее, вот пример, который должен делать то, что вы пытаетесь выполнить с помощью одной команды ...

magick src.jpg -resize 600 -compose dissolve \
   -define compose:args=25 -gravity center overlay1.png -composite \
   -define compose:args=60 -gravity southeast overlay2.png -composite \
   -define compose:args=85 -gravity north overlay3.png -composite \
   -quality 70 one.jpg

Это начинается с чтения входного изображения, изменения его размера до 600 пикселей и установки метода compose на «роспуск». Затем он устанавливает величину растворения 25%, устанавливает гравитацию в «центр» и комбинирует первое наложенное изображение с источником. Он продолжает, устанавливая требуемое количество растворения и плотность для каждого последующего наложения и объединяет их в результаты каждой предыдущей операции.

Завершите, установив качество сжатия для выходного JPG и записав выходной файл. Результатом будет исходное изображение с несколькими наложениями, каждое с разной прозрачностью и местоположением, и все будет выполнено в рамках одной команды, чтобы избежать ухудшения качества в процессе.

Если вы работаете в Windows, вам нужно изменить эти обратные косые черты в продолжениях строки "\" на "^".

Также обратите внимание, что если вам когда-либо придется сохранять и перечитывать промежуточные файлы, вам не следует сохранять их в формате JPG, поскольку при каждой итерации будет потеря качества.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...