App Designerの画面上に画像追加する際、画像フォルダを指定する方法
17 views (last 30 days)
Show older comments
App Designerの画面上に画像を追加しようとしていますが、使い方がよくわかっておらず、うまくいかないので質問させていただきました。
マトラボの作業ファイルと同じ階層に画像を直置きした場合は一応読み込めたのですが、そうでなくimageフォルダを作成しその中に画像をまとめて呼び出ししたいと思っています(画像が増えてくるとフォルダ内がごちゃつくので)。
(*.mlappファイルの同階層にimageというフォルダを作成し、その中に画像を置いて呼び出したい)
画面左のコンポーネントライブラリから画像を追加して、
画面右側のImageSourceから画像を選択したところ、以下のエラーが出て追加できませんでした。
▼エラー内容
「アプリの編集時及びアプリの実行時には、imagesourceファイルがmatlabパス上になければなりません。app designerでファイルを使用する前に、apppathコマンドを使用してファイルをパスに追加してください」
▼ヘルプのImageのプロパティ
参考ソースがあったので
fig = uifigure;
im = uiimage(fig);
im.ImageSource = 'peppers.png';
これを流用して書けばいいのかと思いました。
ただ「ファイル名には、MATLAB® パス上のイメージ ファイル名、あるいはイメージ ファイルへの絶対パスを指定できます。」
と記載があったのですが、これは *.mlappファイルや、画像パスを絶対パスで書かないと指定できないということでしょうか。
また、アラートで「apppathコマンドを使用」とあるので、
▼ヘルプのapppathのページ
これもみていて、
とありましたが、上記いずれの場合もどこに書いたらいいのかわかりませんでした。
トリガーがあって画像表示とかでなく、ただ静的に表示したいので、プライベートプロパティの中に、下記のように書いてみましたが、
apppath('image');
「'(' では終了の ')' が欠落している可能性があり、'image/' での無効な構文の原因となります。」
と出てきてうまくいきませんでした。
プログラムの知識がないので初歩的な躓きだとは思いますが、もしわかる方がいらっしゃいましたらご教示いただけますと幸いです。
どうぞよろしくお願いいたします。
0 Comments
Answers (1)
Hernia Baby
on 2 Mar 2023
サンプルを作成しました。
uigetfileで画像のパスを確認します。
そしてフルパスにしてEditFieldの中に格納します
[file,path] = uigetfile("*.jpeg","データを選ぶ");
app.EditField.Value = fullfile(path,file);
出力ボタンでImageSourceにパスを入れたら完成です。
app.Image.ImageSource = app.EditField.Value;
読み込むとこうなります(パスは隠しました)
2 Comments
See Also
Categories
Find more on イメージ シーケンスとバッチ処理 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!