add image to gui
Show older comments
What should I do to show a picture on the entire screen when I click on the push button?
4 Comments
Jan
on 17 Jan 2019
It depends on what exactly is "entire screen". With the taskbar under Windows or without it? Do you want to set it as desktop background?
Tugba Ergin
on 22 Jan 2019
Jan
on 22 Jan 2019
Again: What does "entire" mean? With the usual border around the figure? With the taskbar at the bottom or where you have moved it to?
Maybe this is sufficient already:
figure('Units', 'Normalized', 'Position', [0,0,1,1])
axes('Units', 'Normalized', 'Position', [0,0,1,1])
image(rand(640,480));
Or perhaps you need FileExchange: WindowAPI, so remove the border around the figures and/or the taskbar also. Please answer my question.
Tugba Ergin
on 22 Jan 2019
Answers (2)
Have callback function that creates a figure that fills the entire screen.
You can use the Position property when you create the function and the axis inside it.
function startGUI
f=figure(1);clf(1)
uicontrol('Parent',f,...
'Units','Normalize',...
'Position',[1 1 1 1]/3,...
'String','Hit me!!',...
'Callback',@create_image_callback)
end
function create_image_callback(hObject,eventdata)
f=figure(2);clf(2)
set(f,...
'Units','Pixels',...
'Position',get(0,'screensize'),...
'menu','none',...
'toolbar','none')
axes('Parent',f,...
'Units','Normalized',...
'Position',[0 0 1 1])
ax=image;%generate default image
axis([1 64 1 64])
end
Jan
on 23 Jan 2019
If you want to fill the complete screen with an image, you can use this under Windows: FileExchange: WindowAPI :
FigH = figure;
AxesH = axes(FigH, 'Units', 'normalized', 'Position', [0,0,1,1], 'Visible', 'off');
image(AxesH, rand(640, 480, 3));
WindowAPI(FigH, 'Position', 'full');
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!