用VB实现实时曲线的绘制和保存

2016-02-19 14:21 262 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐用VB实现实时曲线的绘制和保存,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

在VB中绘制实时曲线是比较难的,一般要应用第三方控件或是WindowsAPI函数来完成,但是如果你对实时曲线的要求不是很高,只要能表示出当前的一般情况的话,我们可以直接应用VB提供给我们的空间来完成。
  
  原则上讲,直接在Form里绘制曲线都是可以的,MSDN上面很多例程就是直接在Form里面绘制图形的,Form作为绘制图形的容器,不过一般应用中Form中不可避免的会有很多其他控件,所以我们选择PictureBox作为绘制曲线的容器。
  
  实时曲线的绘制一般借助于Timer控件来完成,使用Timer控件,定期将串口或是其他仪器中监测到的数据送往PictureBox1,而曲线的绘制一般画成折线图,采用PictureBox1的Line方法绘制.具体实现如下:
  
  1.选择需要显示的窗体Picture1,加入图片框Picture1,根据实际需要设置图片的大小并移到合适的位置,并在图片的外面画好量程----时间坐标系;然后加上Timer控件以及两个CommandButton,界面就基本设置好了。
  
  2.建立坐标系,根据Picture1的大小和高度设置画出坐标系的X轴和Y轴:
  
  ->Picture1.ScaleMode=1‘以VB的基本单位作为建立坐标轴以及绘制图形的单位;
  Picture1.Refresh
  Picture1.CurrentX=Picture1.ScaleLeft 100
  Picture1.CurrentY=Picture1.ScaleTop
  Picture1.PrintPicture1.ScaleHeight-100
  Picture1.Line(Picture1.ScaleLeft 100,Picture1.ScaleTop 100)-(Picture1.ScaleLeft 100,Picture1.ScaleHeight-100)
  Picture1.CurrentX=Picture1.ScaleLeft 100
  Picture1.CurrentY=Picture1.ScaleHeight
  Picture1.Print“(0,0)”
  Picture1.Line(Picture1.ScaleLeft 100,Picture1.ScaleHeight-100)-(Picture1.ScaleWidth-100,Picture1.ScaleHeight-100)
  Picture1.CurrentX=Picture1.ScaleWidth
  Picture1.CurrentY=Picture1.ScaleHeight
  Picture1.PrintPicture1.ScaleWidth-100
  Picture1.AutoRedraw=True‘必要时,用存储在内存中的图象进行重绘->
  3.绘制曲线并保存,我们这里以正弦曲线作为绘制曲线的数据

来源:https://www.tulaoshi.com/n/20160219/1606799.html

延伸阅读
很多软件都有保存用户设置的功能,以便用户下一次启动时其程序界面及相关设置都是自己最中意和习惯的,这使得软件具有人性化,用户用起来感到亲切。用VB编写的软件可以通过多种途径实现此功能,这里介绍用数据库方法来保存用户的个性化设置。 假设我们已经完成了一个用TextBox做编辑栏的字处理程序,该程序提供了让用户对编辑栏背景色和字体...
本课主题: 实验四 串的实现实验 教学目的: 把握PASCAL串类型的实现方法 教学重点: 串的操作 教学难点: 串的联接操作 授课内容: 一、PASCAL串类型的存储表示: #define MAXSTRLEN 255 typedef char SString[MAXSTRLEN+1]; 二、串的操作: 1、串的联接 mystrcat(SString s1,SString s2,SString t); 2、求子串 mysubstr(SStri...
在API文本浏览器里,当我们在搜索栏输入任意字母,“可用项”里以该字母开头的项目以高亮显示以引起我们注意该项是不是我们所需的。象这样的功能一切提供搜索选项的程序都应该具备。以下例子采用SendMessage函数实现这一技术。 请给标准工程添加ListBox和TextBox控件各一个,其各项属性均取默认值,然后将下列代码拷贝到你的工程: ...
标签: vb
游戏开发是许多程序员的梦想,看着游戏中那华丽的画面。有多少人会感叹,如果自己能做就好了。  然而开发游戏需要对DirectX的调用,原来除了C++没有其他语言可以胜任这份工作,虽然DirectX7.0SDK加入了对VB的支持,但是VB毕竟能力有限,无法胜任这份严峻的工作,游戏可以说是最吃资源的程序,VB的速度无法完成。即使做出个游戏...
在一些系统,为了特定目的,经常要求程序隐藏起来运行,例如DCS(集散控制系统)中的后台监控系统、木马控制程序、源码防拷贝等,以减少被发现、截杀和反汇编的风险。这种功能模块要求程序在运行期间不仅不会在桌面出现,也不允许被操作者从任务管理器列表中发现。 程序隐形的原理 对于一个隐形程序而言,最基本的要求是: ...

经验教程

650

收藏

88
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部