Imagemagick使用4(x,y)坐标扭曲图像

Imagemagick使用4(x,y)坐标扭曲图像,imagemagick,imagemagick-convert,Imagemagick,Imagemagick Convert,我有4(x,y)个坐标,我希望在这4个坐标之间放置图像,如下所示 整个图像必须放置在此区域内,不得进行裁剪 使用这个800x600气球: 您可以使用如下“透视扭曲”: convert balloon.jpg -matte -virtual-pixel transparent \ -distort Perspective '0,0,50,0 0,599,100,599 800,0,750,100 800,600,500,500' result.png 参数中基本上有4对点,即 Pt1X

我有4(x,y)个坐标,我希望在这4个坐标之间放置图像,如下所示

整个图像必须放置在此区域内,不得进行裁剪


使用这个800x600气球:

您可以使用如下“透视扭曲”:

convert balloon.jpg -matte -virtual-pixel transparent  \
  -distort Perspective '0,0,50,0 0,599,100,599 800,0,750,100 800,600,500,500' result.png
参数中基本上有4对点,即

Pt1X,Pt1Y,Pt1NewX,Pt1NewY Pt2X,Pt2Y,Pt2NewX,Pt2NewY Pt3X,Pt3Y,Pt3NewX,Pt3NewY Pt4X,Pt4Y,Pt4NewX,Pt4NewY
因此,上面的命令将点
0,0
移动到
50,0
,并将点
0599
移动到
100599
,依此类推


我用红色标记了每个点,并用绿色绘制了每个点移动的路径。

到目前为止您做了什么?您是如何计算4 xy坐标值来放置图像的。你能解释一下这个命令吗。我想知道我将如何在我的第二个示例中添加图像。我不确定您不理解的是什么-我现在添加了一个红色边框,以便您可以看到图像的范围。左上角(0,0)向右移动了20个像素,现在为(20,0)。如果您提供两个单独的图像——输入和所需的输出,这将有助于解释。不计算坐标。它们在输入图像中测量,通常在输出图像中从角落或图像或图像中的某个对象测量。这使得4个x,y对用于输入,4个x,y对用于输出。顺序是inx1,iny1-outx1,outy1。。。inx4,iny4,outx4,outy4。如果没有要测量的输出,可以通过旋转角度进行透视变换。请看我的脚本3Drotate,谢谢你们两位给了我宝贵的时间。请检查我添加的新示例。请参阅