Stocker pathname d'un fichier dans une componente static text
J'ai une forme avec un pushbutton ou j'ai selecte une image qui me rend en axes. Je veux quand l'image s'affiche en axes son pathname est ecrit automatiquement dans la componente static text.
Donc ma forme a seulement trois composants(1pushbutton avec la methode open dialogue,1 axes et 1 static text).
Si quelqu'un peut m'aider. J'essaye de faire cela et ca ne marche:( :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
[filename,pathname] = uigetfile({'*.jpg';'*.png';'*.bmp'}); %selecting the file with an open dialog
if ~ischar(filename) %on cancel press function ischar returns 0
errordlg('Error!','No file selected!'); %appears an error dialog on cancel press
return;
end
img = imread(fullfile(pathname,filename)); % reading the file stored in path
imshow(img);
imshow(img,'parent',handles.axes1); %displays image selected in component axes1
%[filename,pathname] =uigetfile('*.jpg');
%img=imread(fullfile(pathname,filename),'jpg');
%
%R='C:\MATLAB71\work';
%the code that isn't working storing in static text the path of every file
%loaded in axes1 on pushbutton1 press named Load image
str = get(handles.text1,'string');
str = cellstr(str);
str{end+1} = fullfile(pathname,filename);
set(handles.text1,'string',str); %storing in listbox the path of every image loaded in axes1
load(fullfile(pname,fname),'C:\MATLAB71\work');
set(handles.text1,'String','C:\MATLAB71\work'); |
J'ai suppose que l'images se trouve dans pathname(chemin):
C:\MATLAB71\work
Si vous pouvez nettoyez pour qu'il stoque automatiquement en static text pathname du photo qui se trouve en axes1(simultanement quand il est mise en axes1 stoquer en static text le chemin complet de la photo selectee que est affiche en axes1). Ca c'est ce que je veux.
Source pour afficher le path en static text d'une image qui se trouve charge en axes1
Il ne stoque en static text l'image que je choisis en axes1
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename,pathname] = uigetfile({'*.jpg';'*.png';'*.bmp'}); %selecting the file with an open dialog
if ~ischar(filename) %on cancel press function ischar returns 0
errordlg('Error!','No file selected!'); %appears an error dialog on cancel press
return;
end
img = imread(fullfile(pathname,filename)); % reading the file stored in path
imshow(img);
imshow(img,'parent',handles.axes1); %displays image selected in component axes1
set(handles.text1,'string',fullfile(pathname,filename));
C'est ca que j'ai modifie. Aussi j'ai eclairer la propriete string du static text pour que je puisse voir le pathname de l'image que j'ajoute dans axes1 mais il ne m'apparait rien en static text.
Pourquoi?
J'attends ton reponse!
Je dois mettre le code dans le callback create_fcn de la composante static text je suppose. Parce que dans le pushbutton1_callback il ne stoque le pathname en static text:(
Code:
1 2 3 4
|
function text1_CreateFcn(hObject, eventdata, handles)
set(handles.text1,'string',fullfile(pathname,filename)); |
J'ai verifie tous ce que tu as dit
Ok. J'ai verifie ce que tu as dit.
La componente static text (tag text1 est place sur la forme).
La propriete de static text est Visible on
Donc quand je presse le boutton pushbutton1 open dialog je selectionne ma photo il m'affiche en axes1 la photo mai dans static text(text1 tag) rien ne passe:cry:
Obs. Static text n'a pas ecrit rien dans la propriete string pour que je puisse voir le code que tu m'as donne Essai d'affichage. Et il n'affiche pas ce message.
Sur ma forme il y a 3 composante: 1 pushbutton,1axes et 1 static text.
Voila le callback dans le pushbutton1 je ne sais pas pourquoi il n'affiche ce test en static text:cry:. C'est completement bizarre c'est aussi mon avis.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
function pushbutton1_Callback(hObject, eventdata, handles)
[filename,pathname] = uigetfile({'*.jpg';'*.png';'*.bmp'}); %selection du fichier en utilisant open dialog
if ~ischar(filename) %en tapant cancel il affiche une message d'erreur
errordlg('Erreur!','Aucun fichier selectee!'); %erreur dialogue quand on presse sur cancel
return;
end
img = imread(fullfile(pathname,filename)); %lire le fichier image du pathname
imshow(img); %afficher l'image choisi en axes1
set(handles.text1,'string',fullfile(pathname,filename));
%set(handles.text1,'string','Ceci est un essai d''affichage'); |
Essaie de trasser sur la forme ces trois composantes et dis moi si le code du pushbutton1_callback marche chez toi. Chez moi non:cry: