我正在使用implay播放我想要的一些帧,问题是弹出的窗口大小有点小,因此用户必须自己最大化它,有没有办法控制弹出的窗口大小?
我正在使用implay播放我想要的一些帧,问题是弹出的窗口大小有点小,因此用户必须自己最大化它,有没有办法控制弹出的窗口大小?
这里是:
implay(Diff);
set(findall(0,'tag','spcui_scope_framework'),'position',[150 150 700 550]);
2012b版本可以使用。注意:如果您打开了多个implay窗口,这将把它们全部设置为相同的大小。
因此,您可以学习如何自己查找此类内容,我是从没有其他打开的窗口的工作区开始的。
然后我使用implay(Diff)
打开了一个implay窗口。
然后我使用findall(0)
来查找根为0下的所有图形/uicontrol句柄,其中0是根工作区。但是有太多了!大多数都是implay
窗口的子组件 - 菜单、按钮等。所以,我只需要由根工作区创建的第一个组件。
为了得到这个,我使用了findall(0,'Parent',0);
- 我也可以使用allchild(0);
。
我将变量分配给了这个:ImplayHandle=findall(0,'Parent',0);
并查看了它的属性:
get(ImplayHandle);
浏览这些属性时,Tag
似乎是窗口的标识符'spcui_scope_framework'
。我还注意到Position
属性具有与图形窗口类似的大小,这是有希望的。
因此,为了检查,我尝试了findall(0,'Tag','spcui_scope_framework');
,并且能够看到仅返回了单个句柄(没有子组件或菜单项也被标记为相同的标记,这是可能的)。
最后,我关闭了打开的窗口,然后再次使用implay(Diff);
打开了一个新窗口。我使用set
命令尝试更改窗口大小:
set(findall(0,'tag','spcui_scope_framework'),'position',[150 150 700 550]);
看到窗口大小确实已经改变,效果很好。
handle = implay(movie);
handle.Parent.Position = [100 100 700 550];
如果您想设置窗口大小,也可以使用此方法。
handle = implay('Path of the movie');
handle.Parent.WindowState= 'maximized' ;
您可以使用'Position'
属性来控制图形的大小。
该属性期望一个4元素向量,格式为[fromX fromY width height]
,因此,通过改变width
和height
,您可以控制图形的大小。
例如
figure( 'Position', [150 150 700 550] )
打开一个宽度为700像素,高度为550像素的新图形。
implay(Diff);
然后set(gcf,'Position', [150 150 700 550]);
。或者,figure( 'Position', [150 150 700 550] );
然后implay(Diff)
。 - Hugh Nolanimplay
的图像看起来与“figure”不同 :( - Shai