资源简介

C# 绘制实时曲线及坐标轴,实现实时的图像处理操作。

资源截图

代码片段和文件信息

//Download by http://www.NewXing.com
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;

namespace 实时曲线绘制
{
    class draw
    {


        public Bitmap mybitmap;//用于双缓冲的位图,和画布等大

        Random rm = new Random();//随机数产生器


        public void DrawLineS(Color color float Xmax float Ymax PictureBox picbox Point[] ptlist)
        {
            mybitmap = new Bitmap(picbox.Width picbox.Height);//设定位图大小
            Graphics doublebufferg = Graphics.FromImage(mybitmap);//从位图上获取“画布”
            doublebufferg.Clear(Color.White);//用背景色刷新

            //pictureBox1填充为白色,便于显示图像  500*300
            Rectangle rect = new Rectangle(0 0 picbox.Width picbox.Height);
            doublebufferg.FillRectangle(new SolidBrush(Color.White) rect);
           
           
            //画X和Y轴
            DrawXY(ref doublebufferg picbox);
            //X轴上的刻度
            SetYAxis(ref doublebufferg picbox Ymax);
            //Y轴上的刻度
            SetXAxis(ref doublebufferg picbox Xmax);

            //要显示的实时曲线部分
            Point temp = new Point();
            for (int j = 0; j < picbox.Width/5 - 1; j++)
            {
                temp = ptlist[j + 1];
                ptlist[j] = new Point(temp.X - 5 temp.Y);
            }

            Point lastpt = new Point();
            lastpt.X = picbox.Width;
            lastpt.Y = rm.Next(DateTime.Now.Millisecond) % picbox.Height;
            ptlist[picbox.Width/5 - 1] = lastpt;
            doublebufferg.DrawLines(new Pen(color 1) ptlist);


            //将缓冲中的位图绘制到我们的窗体上
            Graphics g1 = picbox.CreateGraphics();//创建 PictureBox窗体的画布

            g1.Clear(Color.White);
            g1.DrawImage(mybitmap 0 0);

        } 


        //完成X轴和Y轴的基本部分
        public void  DrawXY(ref Graphics gPictureBox picbox)
        {
            Pen pen = new Pen(Color.Black 2);//画笔
            SolidBrush sb = new SolidBrush(Color.Black);//话刷
            
            //X轴的箭头,实际上是绘制了一个三角形
            Point[] xpts = new Point[3] { 
                new Point(picbox.Width - 35 picbox.Height - 32)
                new Point(picbox.Width - 35 picbox.Height - 28) 
                new Point(picbox.Width - 30 picbox.Height - 30) 
                                        };

            g.DrawLine(pen 30 picbox.Height - 30 picbox.Width - 30 picbox.Height - 30);
            g.DrawPolygon(pen xpts);
            g.DrawString(“X“ new Font(“宋体“ 9) sb picbox.Width - 25 picbox.Height - 35);



            //Y轴的箭头,实际上是绘制了一个三角形
            Point[] ypts = new Point[3] { 
                     new Point(28 35) 
                     new Point(30 30) 
                     new Point(32 35) };
              
            g.DrawLine(pen 30 picbox.Height - 30 30 30);
            g.DrawPolygon(pen ypts);
            g.DrawString(“Y“ new Font(“宋体“ 9) sb 15 30);
        
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      24576  2008-12-09 23:23  实时曲线绘制\bin\Debug\实时曲线绘制.exe

     文件      30208  2008-12-09 23:23  实时曲线绘制\bin\Debug\实时曲线绘制.pdb

     文件       5632  2005-11-11 22:25  实时曲线绘制\bin\Debug\实时曲线绘制.vshost.exe

     文件       5377  2013-01-10 16:19  实时曲线绘制\draw.cs

     文件       2116  2013-01-10 16:19  实时曲线绘制\Form1.cs

     文件       3064  2013-01-10 16:19  实时曲线绘制\Form1.Designer.cs

     文件       6008  2008-12-09 20:24  实时曲线绘制\Form1.resx

     文件        842  2008-12-09 20:24  实时曲线绘制\obj\Debug\实时曲线绘制.csproj.GenerateResource.Cache

     文件      24576  2008-12-09 23:23  实时曲线绘制\obj\Debug\实时曲线绘制.exe

     文件        180  2008-12-09 20:24  实时曲线绘制\obj\Debug\实时曲线绘制.Form1.resources

     文件      30208  2008-12-09 23:23  实时曲线绘制\obj\Debug\实时曲线绘制.pdb

     文件        180  2008-12-09 20:18  实时曲线绘制\obj\Debug\实时曲线绘制.Properties.Resources.resources

     文件        345  2008-12-10 09:08  实时曲线绘制\obj\实时曲线绘制.csproj.FileList.txt

     文件        515  2013-01-10 16:19  实时曲线绘制\Program.cs

     文件       1246  2013-01-10 16:19  实时曲线绘制\Properties\AssemblyInfo.cs

     文件       2928  2013-01-10 16:19  实时曲线绘制\Properties\Resources.Designer.cs

     文件       5612  2008-12-09 20:07  实时曲线绘制\Properties\Resources.resx

     文件       1139  2013-01-10 16:19  实时曲线绘制\Properties\Settings.Designer.cs

     文件        249  2008-12-09 20:07  实时曲线绘制\Properties\Settings.settings

     文件       3278  2008-12-09 20:18  实时曲线绘制\实时曲线绘制.csproj

     文件        943  2008-12-09 20:07  实时曲线绘制.sln

     目录          0  2013-01-10 16:27  实时曲线绘制\obj\Debug\TempPE

     目录          0  2013-01-10 16:27  实时曲线绘制\bin\Debug

     目录          0  2013-01-10 16:27  实时曲线绘制\obj\Debug

     目录          0  2013-01-10 16:27  实时曲线绘制\bin

     目录          0  2013-01-10 16:27  实时曲线绘制\obj

     目录          0  2013-01-10 16:27  实时曲线绘制\Properties

     目录          0  2013-01-10 16:27  实时曲线绘制

----------- ---------  ---------- -----  ----

               149222                    28

............此处省略1个文件信息

评论

共有 条评论