我所需要的动态显示不是摄像头或视频的图像显示,而是类似于任务管理器CUP、内存使用率的动态显示,在显示界面动态绘制彩图、二维/三维坐标图,以前使用过TeeChart用来数学作图,但显然不适合用在现在所作的探地雷达图形显示。
探地雷达图像显示的基本要求:
1. 探地雷达原始数据得到的灰度图、光谱图,随接收数据包从右至左移动
2. 显示当前采集波形
3. 有固定的时间距离坐标尺
4. 图形生成和显示代码执行效率要高,便于移植到ARM平台上也能顺畅运行
今天学习到TImage可以加载TStream,将雷达原始数据处理后放在内存中,再将内存中的图像显示出来,这样将会提高图形动态刷新的速度。
具体的方法:
1. 初始化时生成一张所需大小的Bitmap
2. 调用SaveToStream得到一个内存流
3. 根据Bitmap文件结构定位每个像素点所在内存地址,即TMemoryStream->Memory + 偏移地址
4. 每次接收到数据后修改TMemoryStream->Memory中的数据,然后LoadFromStream()、Repaint()刷新图像。
本文探讨了探地雷达图像动态显示的技术实现方案。重点介绍了一种利用TImage加载TStream来提高图像动态刷新速度的方法,并详细阐述了具体步骤,包括初始化Bitmap、通过内存流保存和读取图像数据等。
758

被折叠的 条评论
为什么被折叠?



