2

Graphics.DrawImage 很好地支持绘制平行图:

Bitmap destImage = new Bitmap(srcImage.Width, srcImage.Height);
using (Graphics gr = new Graphics.FromImage(destImage))
{
    Point[] destPts = new Point[] { new PointF(x1, y1), 
        new PointF(x2, y2), new PointF(x4, y4)};
    gr.DrawImage(srcImage, destPts);

怎么样,你做到了4点(显然不支持下面的,但这是想要的):

Bitmap destImage = new Bitmap(srcImage.Width, srcImage.Height);
using (Graphics gr = new Graphics.FromImage(destImage))
{
    Point[] destPts = new Point[] { new PointF(x1, y1), new PointF(x2, y2),
        new PointF(x3, y3), new PointF(x4, y4)};
    gr.DrawImage(srcImage, destPts);
}
4

4 答案 4

1

通常您会使用 3x3 矩阵来执行此操作,但 Matrix 类仅允许您指定 6 个值而不是 9。您可以在 Direct X 中执行此操作。

于 2008-09-01T20:42:51.457 回答
0

在考虑 3D 工具将如何处理它时……尝试绘制一个一半的三角形,然后另一半绘制另一个三角形。因此,如果您有 A、B、C 和 D 点;您将(使用剪切平面)绘制 A、B、C,然后绘制 B、C、D 或类似的东西。

于 2012-08-12T01:06:04.663 回答
0

我在 CodeProject 中找到了以下文章: YLS 的免费图像转换 在此处输入图像描述

需要一些作品

也许你可以使用这个:)

于 2015-04-27T13:54:42.767 回答
-1

我能找到的最接近的是这个信息,它非常滞后。

于 2008-11-26T14:55:57.343 回答