Question

lorsque j'essaie d'ouvrir une image en utilisant des axes comme bouton, son nom de fichier d'affichage avec le chemin source.

  • Nom de fichier :C:\Utilisateurs\Win8\Documents\MATLAB est\lena.png
  • Taille du fichier :606.09
    enter image description here

je veux juste afficher le nom du fichier (bordure rouge) uniquement et la taille du fichier en Ko (bordure bleue) sans décimale.

  • Nom de fichier :Léna.png
  • Taille du fichier :606

axes1 Code de rappel :

function axes1_ButtonDownFcn(hObject, eventdata, handles)
% hObject    handle to axes1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
project = guidata(gcbo);

[imgname, imgpath] = uigetfile({'*.png';}, 'Open an Image')
if imgname==0 % if it is canceled
    imgname=''; % create an empty name
    imgpath=''; % create an empty path
end
if isequal(imgname, 0)
return;
end
eval(['cd ''' imgpath ''';']);
I=imread(fullfile(imgpath, imgname));
set(project.figure1, 'CurrentAxes', project.axes1);
set(imshow(I));
imshow(I);
set(project.figure1, 'Userdata', I);
set(project.axes1, 'Userdata', I);
info = imfinfo(fullfile(imgpath, imgname));
set(project.edit1, 'String', info.Filename);
set(project.edit2, 'String', info.FileSize/1024);

des conseils comment faire ??
j'utilise MATLAB R2012a.

Était-ce utile?

La solution

Pour la première partie :utiliser fileparts:

[~, fn, ext] = fileparts(info.Filename); %// get filename (no path) and extension
set(project.edit1, 'String', [fn ext])

Pour la deuxième partie :utiliser round:

set(project.edit2, 'String', round(info.FileSize/1024))

ou peut-être indiquer explicitement les unités (ko) dans la chaîne :

set(project.edit2, 'String', [num2str(round(info.FileSize/1024)) ' kB'])
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top