Matlab - implay's default size window

前端 未结 3 1120
再見小時候
再見小時候 2021-01-01 04:08

I am using implay to play some frames i want, the thing is that window size that pops is a bit small,so the user must maximize it by himself, is there any w

相关标签:
3条回答
  • 2021-01-01 04:26

    You can control the size of a figure using 'Position' property.
    This property expect a 4-element vector in the format [fromX fromY width height], thus, by changing the width and height you can control the size of the figure.

    For example

    figure( 'Position', [150 150 700 550] )
    

    Opens a new figure with width of 700 pixels and height of 550 pixels.

    0 讨论(0)
  • 2021-01-01 04:38
    handle = implay(movie);
    handle.Parent.Position = [100 100 700 550];
    

    Also works if you want to set window size.

    0 讨论(0)
  • 2021-01-01 04:40

    Ah here we go:

    implay(Diff);
    set(findall(0,'tag','spcui_scope_framework'),'position',[150 150 700 550]);
    

    Works in 2012b. (Note: if you have more than one implay window open, this will set them all to the same size)

    So you can learn how to find this kind of stuff for yourself, what I did was start with a workspace with no other open windows.

    I then used implay(Diff) to open an implay window.

    I then used findall(0) to find all of the figure/uicontrol handles under 0, which is the root workspace. But there were too many! Most of them are the subcomponents of the implay window - the menus, buttons, etc. So, I only needed the first component which was created by the root workspace.

    To get this, I used findall(0,'Parent',0); - I could alternatively have used allchild(0);.

    I assigned a variable to this: ImplayHandle=findall(0,'Parent',0);

    And looked at its properties:

    get(ImplayHandle);

    Looking through these, the Tag seemed to be an identifier of the window, 'spcui_scope_framework'. I also noticed the Position property had a similar size to that of a figure window, which was promising.

    So, to check, I tried findall(0,'Tag','spcui_scope_framework'); and I was able to see that only a single handle was returned (none of the subcomponents or menu items were also labelled with the same Tag, which was a possibility).

    Finally, I closed the open window, then opened a new window using implay(Diff); again. I used the set command to try to change the window size:

    set(findall(0,'tag','spcui_scope_framework'),'position',[150 150 700 550]);

    And saw that the window size had indeed changed, as hoped.

    0 讨论(0)
提交回复
热议问题