C#绘制曲线

18. July 2011
在网络上四处寻找C#绘制曲线,但是很多的文章要不就是晦涩难懂,要不就是一个文章N歌论坛转载,缺斤少两,最后让我们这些刚刚开始学习C#绘图感到束手无策啊。 好了再这里冰糕将这些网络上的东西简单的给大家陈诉吧。 在使用C# 作图我们需要的首先是建立工程这个相信大家都已经非常熟悉了。 接下来就是我们需要添加应用的命名空间...using System.Drawing.Drawing2D;using System.Drawing.Imaging; 然后就是代码的描述,我们首先比如在我们的窗体上面直接画..建议拖动一个Pannel吧。在这里就给大家介绍Pannel上去,这里我将Pannel 命名为 MY  然后双击Pannel,我们将得到下面的代码 private void MY_panel_Paint(object sender, PaintEventArgs e)        {} 我们在这个里面添加事件,如果我们添加随机数——这里就不给大家讲解随机数的生成了——这个网络上或者树上的资料都很全面的 List<Point> Points = new List<Point>(); int Start = 0; 定义的全局变量。 Graphics speedCurve = Masp_panel.CreateGraphics(); Pen penSpeed = new Pen(Color.Red, 2); int YS = 210 - 3*(i /10); if (Start < 30) { Points.Add(new Point(Start++ , YS)); } else { Points.Add(new Point (150,YS)); } speedCurve.SmoothingMode = SmoothingMode.AntiAlias; // speedCurve.SmoothingMode = SmoothingMode.HighQuality;//绘图模式默认为粗糙模式,将会出现锯齿 用于限定代码的曲线的显示长度和范围,防止显示超过边界或者内存写满后死机 if (Points.Count >4) { for (int m = 0; m < Points.Count; m++) { Point p = new Point(Points[m].X - 1, Points[m].Y); Points.RemoveAt(m); Points.Insert(m, p); } //Points.Clear(); //Start = 0; } if (Points.Count > 1) { for(int pli=0;pli<Points.Count;pli++) { Pen penTSpeed = new Pen(Color.FromArgb(40,40,40),10); Point Pl = new Point(Points[pli].X, Points[pli].Y); Point P2 = new Point(Points[pli].X, 210); speedCurve.DrawLine(penTSpeed, Pl, P2); penTSpeed.Dispose(); } } if (Points.Count > 1) { speedCurve.DrawCurve(penSpeed, Points.ToArray()); } #endregion 由于冰糕才开始学习做图代码有错误欢迎大家指出...   文章由 www.binggao.net 冰糕网随笔 冰糕编辑...转载请注明出处    

Blog, software