Рисование текстурированного треугольника - PullRequest
1 голос
/ 08 января 2012

У меня есть одно изображение и три вершины с его положением и текстовой координатой.

Как нарисовать этот текстурированный треугольник в графическом окне?

Это изображение, объясняющее, что это такое:

enter image description here

1 Ответ

2 голосов
/ 08 января 2012

Вы можете использовать GraphicsPath и TextureBrush:

// 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;
...