Add static images with APP designer
古いコメントを表示
It seems that there are no standard tools (from the Component Library) to add a static (i.e., not changing) image to the Display field of a App Designer app. Is there, in fact, a way to do this (perhaps with programmatic tools)? I am interested in showing images that would help the user of the App to understand the data-input requirements and how the outputs are to be applied in practice.
採用された回答
その他の回答 (2 件)
Kevin Chng
2018 年 8 月 31 日
編集済み: Kevin Chng
2018 年 8 月 31 日
Hi, Mr Gan
In my practice, i use axes to host image. App designer don't allow you to modify the generated GUI code except call back. Therefore,
1) Design your GUI in app designer, drag a axes on the GUI.
2) Then, you copy the whole code then paste it in the .m file in your matlab.
3) name the .m file properly, at the first row of script, you will see this "classdef app1 < matlab.apps.AppBase", please ensure the name of your .m file is also app1. If you want to name them other than app1, we may discuss further.
4) find this in your script,
function createComponents(app)
.....
....
app.UIAxes = uiaxes(app.UIFigure);
app.UIAxes.Position = [52 313 560 99];
imshow('Picture1.png','Parent',app.UIAxes);
......
......
Add the imshow below the app.UIAxes.
5) Done. The limitation of this method is you can't compile it through web apps compiler. However, it don't have any issue with MATLAB compiler.
2nd Method is use Button to host your image.
1) In your app designer, you drag the button in your GUI.
2) Double click on your button, then you try to find more properties in your button properties on the bottom left of your screen.
3) click on more properties, then you will see Icon File.
4) Select the image you wanted to insert, then delete the text/words of button.
5) Done
4 件のコメント
Chris Portal
2018 年 8 月 31 日
Although Kevin’s suggestion would work, it’s unnecessary. If you refer to the answer I shared earlier, it describes 2 simple options you can consider...
If you're looking to plot image data into an axes, use UIAXES and call IMSHOW by specifying the UIAXES as it’s parent. This is available as of R2016b.
If you're looking to display image data from a file like an icon, the new App Designer uibutton component provides an Icon property that accepts image files.
Kevin Chng
2018 年 8 月 31 日
編集済み: Kevin Chng
2018 年 8 月 31 日
Thanks Chris.
Just for clarification, for your suggested method, we have to code the UIAXES and IMSHOW in m.file instead of .mlapp?
Refer to picture below, How we initiate the image in the axes in app designer? The createComponent's part is not allowed to be edited.

pp designer?The part of create component is not allowed to be edited. It has been my pain quite long.
Chris Portal
2018 年 8 月 31 日
If you'd like to show an image when the app opens, you can show it by configuring the UIBUTTON Icon property during design time. If you're using the UIAXES approach, create a startup function on the app by right clicking on the canvas where you drag and drop components and choosing Callbacks->StartupFcn.
There, you can do:
imshow(myImage, 'Parent', app.UIAxes);
Hope this helps.
Kevin Chng
2018 年 9 月 1 日
編集済み: Kevin Chng
2018 年 9 月 1 日
Appreciate your well explanation. I didn't know there is callback for startup. It definitely will help me a lot in future.
Thanks.
Chris Portal
2018 年 5 月 12 日
編集済み: Stefanie Schwarz
2021 年 10 月 26 日
1 投票
There are currently 2 options available which are described here:
カテゴリ
ヘルプ センター および File Exchange で Images についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
