我正在尝试使用透视图特性的ImageMagick。我看过这些例子,我不明白什么值对应。我有这样的代码:
var stream = new MemoryStream();
using (MagickImage image = new MagickImage("image.jpg"))
{
image.VirtualPixelMethod = VirtualPixelMethod.Tile;
image.MatteColor = Color.DodgerBlue;
image.Distort(DistortMethod.Perspective, new double[] { 0, 0, 20, 60, 90, 0, 70, 63, 0, 90, 5, 83, 90, 90, 85, 88 });
image.Write(stream);
}我有这样的形象:

产出:

我真正想要的是能够改变视角和大小,让它看起来像这样:

它可能没有那么高的质量,但我希望看到类似的结果。我怎样才能做到这一点?
发布于 2013-12-24 01:21:10
数字字符串是识别要移动哪些像素和移动到何处的坐标。在您的示例中,前两个数字0, 0标识左上角的像素。下一对数字20, 60表示失真后该像素的目标。下一对90, 0标识要移动的下一个像素,然后是其目的地的坐标。软件解决了如何处理所有像素之间的问题。
你的四对坐标是一个盒子的四个角落:它们在哪里,你想要它们在哪里。
在ImageMagick使用站点上有一些很好的例子。
https://stackoverflow.com/questions/20732598
复制相似问题