Notice: Undefined variable: child in /data/home/qxu1650200186/htdocs/module/quote/show.inc.php on line 18

Notice: Undefined variable: parentid in /data/home/qxu1650200186/htdocs/module/quote/show.inc.php on line 18
检测器械中波形测算技艺|技术讲座|信息资讯|工业质检-质检中心|质量检验中心|质检科|质量检验科|品保部|品质保证部|质保部|质量保证部|计量室|探伤室|无损检测室|理化室|机械性能室|化验室|力学室|实验室|
标王 热搜:
 
当前位置: 首页 » 信息资讯 » 技术讲座 » 正文
检测器械中波形测算技艺
放大字体  缩小字体 发布日期:2015-08-31  浏览次数:94
   用户在屏幕上看到的是一幅完整的图画,就可以消除第一种原因引起的“闪屏”现象。要解决第2种原因造成的“闪屏”现象,则需要对Windows的刷屏机制进行适当地修改。第1种方法是将默认的背景刷子颜色修改为透明色,将其设置为NULL。第2种方法是拦截系统的WM_ERASEBKGND消息,在其调用默认的基类函数前,直接返回false,这样系统就不会对屏幕的背景进行刷新。

另外,在Delphi或BCB中,可以直接选取PaintBox组件,该组件的特点是在它的画布上粘贴新的图像时,会自动覆盖先前的图像,不需调用Refresh函数来刷新,而且在其大小不变的情况下,不会自动刷新背景。

这样,结合前面的双缓冲机制进行波形绘制,就不会触发Windows系统下的WM_ERASEBKGND消息,从而达到消除“闪屏”现象的目的。和象素点不一一对应,需要进行插值或峰值等复杂计算时,耗费的时间则会成倍增加。事实上,在波形移动速度不快,设置参数也不发生改变时,当前的波形和上一次的波形有很大一部分是相同的,只是在位置上进行了平移,这部分图像是不需要重新绘制的。Windows下的区域图像复制功能和区域刷新功能使得在绘制新波形时,可以直接利用上一次波形中不需更改的部分,从而节省大量的绘图时间。

下面将通过示意图来说明如何进行图像复用。加快波形绘制速度要加快波形的绘制速度,就应当考虑如何使每一屏的绘制内容尽可能的减少,也就是下一屏的图像应当充分利用上一屏图像的内容。下面将介绍如何使用多层图像叠加技术和图像复用技术,来加快波形的绘制速度。在测试仪器的波形图中,图像内容一般包括背景、波形、网格和标记。而需要不断进行更新的只有波形层,而背景和网格则很少改变。

结合前面的双缓冲技术,我们可以将以上内容在不可见的后台屏幕分层进行绘制,然后利用函数将其它各层的内容透明粘贴到背景层的相应位置,最后再将其复制到屏幕显示区域进行显示。这样,不需要重新绘制的图层可以直接粘贴,从而加快波形成像速度。测试仪器的分析软件中,在进行波形绘制以前,往往需要经过一系列的计算,来确定每一个波形象素点的位置。

如果每一次刷新都将屏幕上的波形重新绘制,就会在这样的计算上耗费大量的时间。当采样点如图1所示,假设整个波形显示区的宽度是80个象素点,每次屏幕刷新,波形从右向左移动20个象素点。那么,每次波形绘制时,可以先将AC段的波形直接复制到OB段,然后将区域BC刷新后绘制新的波形。波形复制可以通过前面介绍的BitBh函数或CoPyRect函数来实现,区域刷新可以通过Fil次ect来实现。结束语给出了彻底解决屏幕闪烁现象的方法,探讨了如何加快动态波形的绘制速度。对动态波形的绘制有一定的参考意义。


特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。
[ 信息资讯搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

0条 [查看全部]  相关评论

 
按分类浏览
商家商品展示
相关信息资讯
推荐信息资讯
点击排行
按分类浏览

 
网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 | 排名推广 | 广告服务 | 积分换礼 | 网站留言 | RSS订阅 | 京ICP备 12009517号-5
Processed in 0.045 second(s), 15 queries, Memory 1.66 M