MATLAB 2014b getframe 导致 UI 为“空白”
Posted
技术标签:
【中文标题】MATLAB 2014b getframe 导致 UI 为“空白”【英文标题】:MATLAB 2014b getframe causes UI to 'blank' 【发布时间】:2018-09-19 14:04:41 【问题描述】:我目前正在开发一个复杂的 MATLAB 应用程序。我正在尝试使用 getframe
函数保存数字(在其 UI 中创建)。这工作正常,并按预期保存图形。但是,每次使用后 UI 都会“空白”。窗口仍然存在,但变成了一个统一的白色矩形。将鼠标悬停在 UI 中的功能上会使它们再次出现(就像战争迷雾一样)。添加refresh
语句没有帮助。
为什么会这样?如何让它停止?
令人恼火的是,这在 2018a 中没有发生,但代码在 2014b 中,这是有问题的(我在对我的酷修复感到满意后发现了这一点:()。
不幸的是,发布代码是不可行的,因为我没有分享它的权限。
【问题讨论】:
18a 年你会怎么做? 哎呀,我犯了一个错误;将进行编辑。我也是这样做的,但不存在这个“空白”问题。 【参考方案1】:好的,经过大量研究后,我一直无法找到 直接 解决方案。但是我已经实现了一个间接的解决方案。
refresh
没有工作,所以我实施了手动强制重绘。 IE。我在 getframe 后将屏幕抖动 1 个像素,从而重绘窗口。
figpos = fig.Position;
jitter = figpos;
jitter(3) = jitter(3) + 1;
jitter(4) = jitter(4) + 1;
set(fig,'Position',jitter);
set(fig,'Position',figpos);
可能没有必要扩展和收缩窗口的宽度和高度,但它可以很好地完成工作。
【讨论】:
以上是关于MATLAB 2014b getframe 导致 UI 为“空白”的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MATLAB 2014b 的散点图中增加图例的标记大小? [复制]
MATLAB2014b parpool 报错,并行工具无法开启解决方法