标题:GDI如何动态的选择点画图,内详
只看楼主
按时的地方
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-11-23
 问题点数:0 回复次数:2 
GDI如何动态的选择点画图,内详
例如:
            Point p1 = new Point(50, 200);
            Point p2 = new Point(300, 150);
            Point p3 = new Point(200, 200);
            Point p4 = new Point(400, 200);
            Point[] points ={ p1, p2, p3, p4 };
            g.DrawLines(new Pen(Color.Blue), points);

我如何动态的选择这几个点来画图呢?? 每个点依据各自的条件确定到底画不画。
我暂时使用了Point.Empty来实现,比如
            bool b1 = false;
            bool b2 = true;
            if (b1 == true)
            {
                p1 = Point.Empty;
            }
            else if (b2 == true)
            {
                p2 = Point.Empty;
            }
但是这样就把我不想画出的点按照(0,0)来处理,并没有按照我预期的效果画出,版主们和众高手有没有什么好的方法啊?在线等ing。。。

[[it] 本帖最后由 按时的地方 于 2008-4-10 16:33 编辑 [/it]]
搜索更多相关主题的帖子: Point 选择点 GDI 画图 动态 
2008-04-10 16:20
按时的地方
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-11-23
得分:0 
这样做了以后又发现(0,0)会和我的第一个点P1连起来,又是什么原因呢?
Point[] points = new Point[4];
            //points[0] = p1;
            //points[1] = p2;
            //points[2] = p3;
            //points[3] = p4;
            int i = 0;
            bool b1 = true;
            bool b2 = true;
            bool b3 = true;
            bool b4 = false;

            if (b1)
            {
                points[i] = p1;
                i++;
            }
            else if (b2)
            {
                points[i] = p2;
                i++;
            }
            else if (b3)
            {
                points[i] = p3;
                i++;
            }
            else if (b4)
            {
                points[i] = p4;
                i++;
            }

2008-04-10 16:57
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
得分:0 
你尝试用集合Collection来做怎样?
定义一个集合,保存所有的Point,根据需要动态Add和Remove你的点
然后画图之前把集合中所有的Items(就是你的全部要画的点)拷贝到Point[]中(提前用Array.Resize()重设数组大小)
然后再DrawLines,这样就不会有误画的点了。

按照这个方法试试吧,如果在代码上有不清楚的请查阅MSDN。

女侠,约吗?
2008-04-10 22:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-208226-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.669575 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved