Самый простой способ - это, вероятно, создать текстурированный прямоугольник, а затем поместить его поверх верхушки, используя композитный.
convert circle.png \(-size 88x61 tile:texture.png \) -geometry +50+63 -composite result.png
[править] Если вы хотите текстуру внизу, вы можете сделать это:
convert -size 200x200 xc:transparent
-page +50+63 -size 88x61 tile:texture.png
-page +0+0 circle.png
-layers flatten result.png
Я думаю, что это само за себя, но 88x61 является размер прямоугольника, 200x200 является размер круга image, + 50 + 63 - это местоположение, на которое вы хотите разместить его, circle.png - это изображение прозрачного круга, а texture.png - это бесшовный шаблон.
Я тестировал это с вашими изображениями, и это сработало, но шаблон, который вы включили, кажется, не является полной версией, поэтому он не выглядел точно так же, как ожидаемый результат.
Привет, мороз, это сработало, но мне нужно, чтобы слой текстуры шел за исходным изображением. Это возможно? Спасибо – robertokl
Да, я отредактировал мой ответ выше. – frostyterrier
Привет морозный. Спасибо за ваш ответ. Он работает сейчас. Я также опубликовал еще один вопрос, который убивает меня целый день. Не возражаете взглянуть? http://stackoverflow.com/questions/15071640/how-to-rotate-a-composite-image-with-fixed-center. Заранее спасибо. – robertokl