【发布时间】:2011-10-12 16:08:03
【问题描述】:
我在 matlab 中编写了一个相当大的数据采集程序,它以非常紧凑的时间安排接收输入数据,并在 GUI 上实时绘制。我的问题是我需要一种方法让程序的用户通过网络查看 GUI 以远程监控他们的数据。我的解决方案是每 5 秒左右拍摄一次 GUI 图的快照,并将该图像托管在 Web 服务器上。
然而这会导致两个不可接受的问题:
打印功能实在是太慢了——每次保存大约需要 3-4 秒,并且程序随后在每次调用“打印”后在其他例程中落后。
由于某种原因,打印功能会导致 GUI 暂时变形,从而更改某些组件的位置并复制其他组件。它只持续一秒钟左右,但它仍然使我的解决方案不切实际。
有没有办法解决这些问题?
编辑:*** 对于任何感兴趣的人,我发现的最佳解决方案是使用名为 Minicap 的外部工具包。
【问题讨论】:
-
您是否尝试过将图形(PRINT)导出为非压缩格式(可能是 BMP),也许这样会更快?比较 PRINT 与 GETFRAME 解决方案的性能也可能很有趣..
-
保存到 png 比保存到 bmp 花费的时间更少。写入文件比压缩阶段花费的时间更长。
-
@RichieCotton:这个想法是尝试不同的图像格式,看起来你已经建议了:)
-
您好 Jerad,请随时添加您自己的解决方案作为实际答案并接受它,以表明问题已为您解决。如果您添加到 Minicap 的链接,人们会喜欢您的 ;-)。
-
@Jonas:好的,很高兴知道。谢谢!
标签: user-interface matlab printing save figure