C#编五边形?
用c#怎么写出一个五边形来呢!代码是怎么样的?
private void DrawPoly(int bian, Panel p) { Image im = new Bitmap(p.Width, p.Height); Graphics gr = Graphics.FromImage(im); Pen mpen = new Pen(Color.Green, 1); int banjing; if (p.Width < p.Height) { banjing = p.Width / 2 - 2; } else { banjing = p.Height / 2 - 2; } int poleX = p.Width / 2; int poleY = p.Height / 2; Point[] point = new Point[bian]; for (int i = 0; i < bian; i++) { point[i].X = poleX + Convert.ToInt32(banjing * Math.Sin(i * 2 *Math.PI/ bian)); point[i].Y = poleY - Convert.ToInt32(banjing * Math.Cos(i * 2*Math.PI / bian)); } gr.DrawLines(mpen,point); // 采用此方法可以简单代码. gr.DrawLine(mpen, point[0], point[bian - 1]); // 连接起点和终点 p.BackgroundImage = im; }这个是我学习的程序的一部分,其中的bian是int类型,定义输入的边数。这个可以在panel上画任意多边形,传入bian变量即可。
private void DrawPoly(int bian, Panel p) { Image im = new Bitmap(p.Width, p.Height); Graphics gr = Graphics.FromImage(im); Pen mpen = new Pen(Color.Green, 1); int banjing; if (p.Width < p.Height) { banjing = p.Width / 2 - 2; } else { banjing = p.Height / 2 - 2; } int poleX = p.Width / 2; int poleY = p.Height / 2; Point[] point = new Point[bian]; for (int i = 0; i < bian; i++) { point[i].X = poleX + Convert.ToInt32(banjing * Math.Sin(i * 2 *Math.PI/ bian)); point[i].Y = poleY - Convert.ToInt32(banjing * Math.Cos(i * 2*Math.PI / bian)); } gr.DrawLines(mpen,point); // 采用此方法可以简单代码. gr.DrawLine(mpen, point[0], point[bian - 1]); // 连接起点和终点 p.BackgroundImage = im; }这个是我学习的程序的一部分,其中的bian是int类型,定义输入的边数。这个可以在panel上画任意多边形,传入bian变量即可。