Hi,
I need help on the following matter:
I am desgning a GUI and I would like to set a PIC that when the user open the GUI it will appear only for few seconds, then the GUI intrface will start.
It is just like a welcoming pic.
I used the following command to convert the pic to fig
img = imread('~~.jpg');
imshow(img);
savefig('~~~.fig');

2 Commenti

Adam Danz
Adam Danz il 18 Nov 2019
Where should the image appear? In an axes that is embedded within the GUI? In the GUI Figure background? On a separate window?
How did you create you GUI? Guide? App designer? uicontrol?
R Hebi
R Hebi il 19 Nov 2019
I used Guide
I want it to appear on a separate window.

Accedi per commentare.

 Risposta accettata

Ankit
Ankit il 19 Nov 2019
Modificato: Ankit il 19 Nov 2019

1 voto

Updated based on Adam's comment! Thanks for your feedback.
-------------------------------------------------------------------------------
Hi Abdullah,
You can modify the below code based on your need. Include the following code in your opening function of GUI.
function xxxx_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for xxxx
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
%creating a new figure
Figure = ...
figure('Name', 'Splashscreen',...
'Color', 'w',...
'NumberTitle', 'off',...
'Toolbar', 'none',...
'Menubar', 'none',...
'Resize', 'off',...
'Visible', 'off',...
'Units', 'Pixels',...
'Position', [624 694 494 409]);
movegui(Figure,'center'); % moving the Figure to the center
axes('Units', 'Normalize',...
'position', [0 0 1 1],...
'color', 'w');
img = imread('~~~.jpg');
imshow(img);
axis equal; % for setting the aspect ratio to equal so the figure appears correctly!
set(Figure, 'Visible', 'on');
pause(3); % pause the splashscreen for 3 seconds
close(Figure); %closing the figure

3 Commenti

The figure code is outside of the OpeningFcn() in your answer. Move the 'end' to the end to correct that error.
Here's two more suggestions.
1) make the axes fit the figure window by using
axes('Units', 'Normalize',...
'position', [0 0 1 1],...
'color', 'w');
2) set the aspect ratio to equal so the figure appears correctly
axis equal % after imshow()
Ankit
Ankit il 19 Nov 2019
Thank you Adam :)
"end" was copying mistake from my code!
Adam Danz
Adam Danz il 19 Nov 2019
Looks good! +1

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interactive Control and Callbacks in Centro assistenza e File Exchange

Richiesto:

il 18 Nov 2019

Commentato:

il 19 Nov 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by