在 ImageMagick 中,我可以通过三个独立的步骤创建合成。我将第一张图片固定在角落,然后是第二张图片。然后我合成并将这两个图像放在背景图像的顶部:
convert .\source1.png -matte -virtual-pixel transparent -distort Perspective '0,0,27,211 0,278,197,266 500,0,176,19 500,278,323,48' source1a.png
convert .\source2.png -matte -virtual-pixel transparent -distort Perspective '0,0,2,72 0,278,86,181 500,0,215,2 500,278,311,85' source2a.png
convert .\card.png -page +253+41 .\source2a.png -page +0+98 .\source1a.png -layers flatten fred4.png
由于某种原因,Windows 不会像我期望的那样响应将这些命令放在括号中:
convert .\card.png -page +253+41 (.\source1.png -matte -virtual-pixel transparent -distort Perspective '0,0,27,211 0,278,197,266 500,0,176,19 500,278,323,48') -page +0+98 (.\source2.png -matte -virtual-pixel transparent -distort Perspective '0,0,2,72 0,278,86,181 500,0,215,2 500,278,311,85') -layers flatten fred4.png
出于某种原因,当我执行上述命令时,它会为每个图像打开查看器,并且输出是错误的。
有没有办法做到这一点而不必写出两个中间图像?理想情况下,我可以将图像放在背景上,然后在背景图像的坐标空间中做角销。任何想法都会非常有帮助。
非常感谢!