2014-01-24 3 views
1

Я хочу сделать следующее с помощью ImageMagick (linux командной строки): изменить размер изображения до 125% от его размера, а затем поместить его на верхнее изображение большего размера B - в центре B, но с смещение 175px к правомуImageMagick - как изменить размер и положение

ниже не работает для меня, и от того, что я читаю, он должен:

composite -gravity center -geometry '125%+175+0' <imageA_path> <imageB_path> <output_file_path> 

Я также попытался это не повезло:

convert <imageA_path> -resize 125% | composite -gravity center -geometry +175+0 - <imageB_path> <output_file_path> 

У кого-нибудь есть Какие предложения? Благодаря!

+0

Я решил проблему с помощью преобразования, чтобы создать временное изображение (увеличенное), а затем составное, чтобы поместить изображение на большее. – janman05

ответ

0

Для команды изменения размера вам необходимо указать и ввести изображение и выходное изображение. Вам также необходимо указать входное изображение в составной команде.

convert <imageA_path> -resize 125% <resized_imageA_path> | composite -gravity center -geometry +175+0 <resized_imageA_path> <imageB_path> <output_file_path> 

У вас может быть такое же, как, но это будет перезаписывать исходное изображение A с измененной версией.

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

Надеюсь, что это поможет.

EDIT: Ничего, я только что видел ваш комментарий.

+1

Спасибо. Вы ответили на вопрос, поэтому я помету его, как ответ. – janman05

0

Как и ответ от Moogle, вы можете решить свою проблему с помощью этих двух команд - но с помощью usign - вы получите полную мощность трубопроводов.

convert <imageA_path> -resize 125% - | composite -gravity center -geometry +175+0 - <imageB_path> <output_image_path> 

следует делать это без промежуточных файлов.

0

Вы можете сделать это с помощью одной командной строки с помощью стека

composite -gravity center -geometry +175+0 \(-resize 125% <imageA_path> \) <imageB_path> <output_file_path> 

Операции в скобках запустить первый и результат используется вместо файла. Удостоверьтесь, что у вас есть пробелы вокруг разделителей \( и \) или вы получите ошибку синтаксического анализа.

Смежные вопросы