C#编五边形?
用c#怎么写出一个五边形来呢!代码是怎么样的?
GDI+ ?
控制台程序?
五边形有什么要求。。。
还是别的,,太宏观了
程序代码: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变量即可。