J'ai une forme avec 3axes et 2 buttons(de type pushbutton):
pushbutton1- pour m'afficher les photos du directoire images(j'ai 2 photos)
pushbutton2- pour la selection d'une image et l'ajout automatiquement dans le dossier de moi images dans mon cas(command uiputfile) -comment faire cela dans le pushbutton2_callback.(c'est ici le probleme)
Donc j'ai 3 axes parce que dans le dossier j'ai 2 photos mais je selectionne un fichier jpg dans le pushbutton2_callback et quand j'appuie save il est sauve dans mon dosier l'image selectione avec uiputfile automatiquement.
Et quand je presse le pushbutton1_callback il m'affiche dans les 3 axes(les 2 vieux photos du directoire et la photo que j'ai ajoute dans le dossier dans le pushbutton2_callback). C'est pour cela que j'ai 3 axes sur ma forme.
Pushbutton1_callback(liste en axes de la forme les photos qui se trouvent dans le dossier -ca marche caroline m'a aide).
Si vous pouvez nettoyer un peu mon pushbutton2_callback c'est ca le probleme j'ai essaye avec uiputfile:
J'attache ici les sources:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function pushbutton1_Callback(hObject, eventdata, handles) rep = 'C:\MATLAB71\work\Images'; img_list = dir(fullfile(rep,'*.jpg')); for k=1:length(img_list) % Chargement de la kième image img = imread(fullfile(rep, img_list(k).name)); %l'afficher dans axesk de la deuxieme forme (utilisation champs %dynamique) image(img,'Parent',handles.(['axes',num2str(k)])); end
Ce callback d'ajout quand je presse save ajouter l'image selectionne dans mon repertoire(C:\MATLAB71\work\Images) ne marche. J'essaye avec uiputfile dans le deuxieme callback c'est ici le probleme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function pushbutton2_Callback(hObject, eventdata, handles) pathname='C:\Matlab71\work\Images'; [filename, pathname] = uiputfile(... {'*.jpg' ;'*.bmp ';'*.tif';'*.gif'},... 'Save as'); %fenetre de dialogue pour sauver une image selectee dans le directoire specifie par variable pathname f=fullfile(pathname,filename); imwrite(p,f);%sauver l'image selectee dans le dossier specifie par pathname %p,f deux variables pour le pathname et filename if exist(fullfile(pathname,filename),'file') %si l'image jpg existe dans le dossier C:\Matlab71\work\Images %dans ce cas afficher une error dialog avec message corespondant errordlg('Le fichier existe deja dans le directoire!','Erreur!'); end
Partager