C#画多边形
怎么实现用鼠标画多边形呢?就是把每个鼠标点到的点存到一个数组中去,连成一个多边形。。怎么实现呢?高手帮忙写个关键代码啊。。...
怎么实现用鼠标画多边形呢?就是把每个鼠标点到的点存到一个数组中去,连成一个多边形。。怎么实现呢?
高手帮忙写个关键代码啊。。 展开
高手帮忙写个关键代码啊。。 展开
3个回答
展开全部
刚写好,仅供参考
Point point1 = new Point(100, 200);
Point point2 = new Point(100, 300);
Point point3 = new Point(200, 300);
Point point4 = new Point(200, 200);
Point[] curvePoints =
{ point1, point2, point3, point4, }; //定义点数组,这个可以通过鼠标画点得到,也可以指定固定的点
System.Drawing.SolidBrush myBrush2 = new System.Drawing.SolidBrush(System.Drawing.Color.Blue); //定义一个brush
formGraphics.FillPolygon(myBrush2, curvePoints);//绘图
myBrush2.Dispose();
formGraphics.Dispose(); //销毁对象
Point point1 = new Point(100, 200);
Point point2 = new Point(100, 300);
Point point3 = new Point(200, 300);
Point point4 = new Point(200, 200);
Point[] curvePoints =
{ point1, point2, point3, point4, }; //定义点数组,这个可以通过鼠标画点得到,也可以指定固定的点
System.Drawing.SolidBrush myBrush2 = new System.Drawing.SolidBrush(System.Drawing.Color.Blue); //定义一个brush
formGraphics.FillPolygon(myBrush2, curvePoints);//绘图
myBrush2.Dispose();
formGraphics.Dispose(); //销毁对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两点确定一条直线,把上面的点儿依次用线连起来,也许是想要的多边形。
Queue<Point> PointArray = new Queue<Point>();
鼠标弹起事件:
if (e.Button == MouseButtons.Left)
{
PointArray.Enqueue(new Point(e.X, e.Y)); //记录点
}
else
{
this.CreateGraphics().DrawPolygon(new Pen(Color.Red), PointArray.ToArray() );//绘制矩形,this是窗体
PointArray.Clear();
}
Queue<Point> PointArray = new Queue<Point>();
鼠标弹起事件:
if (e.Button == MouseButtons.Left)
{
PointArray.Enqueue(new Point(e.X, e.Y)); //记录点
}
else
{
this.CreateGraphics().DrawPolygon(new Pen(Color.Red), PointArray.ToArray() );//绘制矩形,this是窗体
PointArray.Clear();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
全局:
Queue<Point> PointArray = new Queue<Point>();
鼠标弹起事件:
if (e.Button == MouseButtons.Left)
{
PointArray.Enqueue(new Point(e.X, e.Y)); //记录点
}
else
{
this.CreateGraphics().DrawPolygon(new Pen(Color.Red), PointArray.ToArray() );//绘制矩形,this是窗体
PointArray.Clear();
}
Queue<Point> PointArray = new Queue<Point>();
鼠标弹起事件:
if (e.Button == MouseButtons.Left)
{
PointArray.Enqueue(new Point(e.X, e.Y)); //记录点
}
else
{
this.CreateGraphics().DrawPolygon(new Pen(Color.Red), PointArray.ToArray() );//绘制矩形,this是窗体
PointArray.Clear();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |