ImageMagick:根据矢量路径扭曲透视图

平面设计 看法 图像魔术师
2022-02-13 22:17:28

我想使用 ImageMagick 将矩形图像(PDF 的第一页,使用 创建convert in.pdf[0] cover.png)转换为以下白色形状。我有矢量文件并且知道 ImageMagick 中的扭曲,但现在知道将哪些数字传递给 distort 命令。我可以以某种方式将我的路径转换为透视参数吗?

ImageMagick 应该用于能够轻松地自动化该过程。

在此处输入图像描述

1个回答

是的。以以下图像为例,

在此处输入图像描述 在此处输入图像描述

图片 1-2:前景和背景

然后使用以下 imagemagick shell 脚本*:

convert                         ^
  bg.png                        ^
 -page +100+100                 ^
    (                           ^
      fg.png                    ^
     -matte                     ^
     -virtual-pixel transparent ^
     -distort Perspective       ^
     "0,0,20,105 206,0,157.5,60 0,264,130,303 206,264,302,235" ^
    )                           ^
 -layers flatten                ^
  out.png

你得到:

在此处输入图像描述

* 如果您使用 Mac 或 Linux 更改^,则这是使用 Windows,\请注意行尾符号后不能有空格。

这是怎么做到的?

我是怎么得到数字的。首先,您需要 2 个正方形,一个是原始的,一个是扭曲的。测量上角上角变形的点并将它们缝合在一起形成一个 4 数字组 ( 0,0,20,105)。这是第一对。然后测量右上角和扭曲的右上角(在同一坐标系中)。对左下角和右下角执行相同的操作。

在此处输入图像描述

图 3:原始点和变形点。黄线描绘了背景图像的范围。