2013-12-22 174 views
2

我正在嘗試使用ImageMagick的特性透視圖。我看過這些例子,我不明白什麼值對應。我有這樣的代碼: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); 
} 

而且我有這樣的形象:

input

輸出:

output

我真正想要的是能夠改變視角和大小相似,並使其看起來類似於此: what I want

質量可能不盡如人意,但我希望看到類似的結果。我怎樣才能做到這一點?

回答

2

數字的字符串是標識哪些像素移動到哪裏的座標。在您的示例中,前兩個數字0, 0標識左上角的像素。下一對數字20, 60表示失真後該像素的目的地。下一對90, 0標識要移動的下一個像素,然後標識其目標的座標。該軟件計算出如何處理之間的所有像素。

你的四對座標是一個盒子的四個角落:他們在哪裏,你想要他們在哪裏。

ImageMagick Usage site上有一些很好的例子。