private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.SmoothingMode = SmoothingMode.HighQuality;
//绘制三角形
//DrawTriangle_1(g);
//DrawTriangle_2(g);
//DrawTriangle_3(g);
//填充三角形
//FillTriangle_1(g);
//FillTriangle_2(g);
FillTriangle_3(g);
}
/// <summary>
/// 绘制三角形(法1)
/// </summary>
/// <param name="g"></param>
private void DrawTriangle_1(Graphics g)
{
Point point1 = new Point(50, 20);
Point point2 = new Point(75, 50);
Point point3 = new Point(100, 20);
Point[] pntArr = { point1, point2, point3 };
g.DrawPolygon(new Pen(Color.Red), pntArr);
}
/// <summary>
/// 绘制三角形(法2)
/// </summary>
/// <param name="g"></param>
private void DrawTriangle_2(Graphics g)
{
Point point1 = new Point(50, 20);
Point point2 = new Point(75, 50);
Point point3 = new Point(100, 20);
Point point4 = new Point(50, 20);
Point[] pntArr = { point1, point2, point3, point4 };
GraphicsPath path = new GraphicsPath();
path.AddLines(pntArr);
g.DrawPath(new Pen(Color.Red), path);
}
/// <summary>
/// 绘制三角形(法3)
/// </summary>
/// <param name="g"></param>
private void DrawTriangle_3(Graphics g)
{
Point point1 = new Point(50, 20);
Point point2 = new Point(75, 50);
Point point3 = new Point(100, 20);
Point point4 = new Point(50, 20);
Point[] pntArr = { point1, point2, point3,point4};
byte[] bytes = { (byte)PathPointType.Line, (byte)PathPointType.Line, (byte)PathPointType.Line, (byte)PathPointType.Line };
GraphicsPath path = new GraphicsPath(pntArr, bytes);
g.DrawPath(new Pen(Color.Red), path);
}
/// <summary>
/// 填充三角形(法1)
/// </summary>
/// <param name="g"></param>
private void FillTriangle_1(Graphics g)
{
Point point1 = new Point(50, 20);
Point point2 = new Point(75, 50);
Point point3 = new Point(100, 20);
Point[] pntArr = { point1, point2, point3 };
g.FillPolygon(Brushes.Red, pntArr);
}
/// <summary>
/// 填充三角形(法2)
/// </summary>
/// <param name="g"></param>
private void FillTriangle_2(Graphics g)
{
Point point1 = new Point(50, 20);
Point point2 = new Point(75, 50);
Point point3 = new Point(100, 20);
Point[] pntArr = { point1, point2, point3 };
GraphicsPath path = new GraphicsPath();
path.AddLines(pntArr);
g.FillPath(Brushes.Red, path);
}
/// <summary>
/// 填充三角形(法3)
/// </summary>
/// <param name="g"></param>
private void FillTriangle_3(Graphics g)
{
Point point1 = new Point(50, 20);
Point point2 = new Point(75, 50);
Point point3 = new Point(100, 20);
Point[] pntArr = { point1, point2, point3 };
byte[] bytes = { (byte)PathPointType.Line, (byte)PathPointType.Line, (byte)PathPointType.Line };
GraphicsPath path = new GraphicsPath(pntArr,bytes);
g.FillPath(Brushes.Red, path);
}