我知道如何使用Graphics對象的DrawImage()方法將矩形源區域複製到矩形目標區域,以及如何複製到由三元素Point []數組定義的並列區域。如何從.NET中的矩形源區域複製到非矩形/非並行區域目標區域?
.NET中是否有任何方式將矩形源區域複製到4邊非矩形目標區域(由四個任意點定義)?
更新。下面是一些示例代碼,複製圖像的平行四邊形區域:
using (Graphic g = this.CreateGraphics())
{
List<Point> pts = new List<Point>();
pts.Add(new Point(0, 0));
pts.Add(new Point(100, 0));
pts.Add(new Point(10, 100));
g.DrawImage(pbSource.Image, pts.ToArray());
}
如果我添加一個第四點,我得到一個「沒有實現」的異常。
更新2。這是可以在.NET中完全做到這一點:
alt text http://www.freeimagehosting.net/uploads/a770d1e97f.jpg
,但你必須自己做,逐像素。圖片由Jonbert提供。
對不起,只知道win32方法;-) – 2008-11-30 22:00:29