我有一张背景图片:sky.jpg
还有两个透明的PNG图片:gradient.png和tree.png
现在我想在背景上绘制两个带有透视变形的图像,如下所示:
两个图像的目标坐标按顺时针顺序(从左上角开始):
渐变:62,129
421,218
383,458
147,548
树:445,100
765,47
698,368
529,396
我无法弄清楚如何从一张图片开始(在这种情况下是天空背景),然后拍摄另一张图片,并在背景中使用透视失真绘制到特定的目标坐标。在一个转换命令中同时使用多个图像执行此操作会让我感到麻烦。
例如,当我从一个图像(渐变)开始并尝试这个时:
convert sky.jpg \( gradient.png -alpha set -virtual-pixel transparent \
+distort Perspective "0,0 62,129 255,0 421,218 255,255 383,458 0,255 147,548" \) \
-compose src-over -composite result.jpg
它被正确扭曲(因此坐标相对正确)但它在左上角绘制,而不是在我指定的坐标处绘制。
另外,我有点不确定-compose
和-composite
的使用是否正确(我从各种IM手册示例中得到了这个)。
另一件我不清楚的事情是:对于256x256图像,我应该使用255,0
和255,255
以及0,255
作为角点坐标,还是256,0
以及256,256
和0,256
?
任何可以解释这些问题的IM专家?