C# 绘制有纹理的三角形

C# 绘制有纹理的三角形,c#,winforms,drawing,system.drawing,C#,Winforms,Drawing,System.drawing,我有一个图像和三个顶点及其位置和texcoord 如何在图片盒中绘制此纹理三角形 这是一幅解释它是什么的图像: 您可以使用a和a: 您没有考虑使用texcoords将纹理映射到顶点:(@Blau:也许你想要一张结果的图片会有所帮助?我在问题中添加了一个图片url。 // Create the triangle GraphicsPath p = new GraphicsPath(); p.AddLine(triangleVertex1, triangleVertex2); p.AddLine(tr

我有一个图像和三个顶点及其位置和texcoord

如何在图片盒中绘制此纹理三角形

这是一幅解释它是什么的图像:

您可以使用a和a:


您没有考虑使用texcoords将纹理映射到顶点:(@Blau:也许你想要一张结果的图片会有所帮助?我在问题中添加了一个图片url。
// Create the triangle
GraphicsPath p = new GraphicsPath();
p.AddLine(triangleVertex1, triangleVertex2);
p.AddLine(triangleVertex2, triangleVertex3);
p.CloseFigure();

// Draw the triangle
Bitmap b = new Bitmap(pictureBox.ClientSize.Width, pictureBox.ClientSize.Height);

using(Graphics g = Graphics.FromImage(b), TextureBrush t = new TextureBrush(myImage)) {
    g.FillPath(t, p);
}

// Finally, set the PictureBox's image
pictureBox.Image = b;