كيفية عرض اسم الملف وحجم الملف فقط في MATLAB
-
21-12-2019 - |
سؤال
عندما أحاول فتح صورة باستخدام محاور كزر، اسم ملف العرض الخاص بها مع مسار المصدر.
- اسم الملف :C:\Users\Win8\Documents\MATLAB est\lena.png
- حجم الملف :606.09
أريد فقط عرض اسم الملف (الحد الأحمر) فقط والملف بالكيلوبايت (الحد الأزرق) بدون علامة عشرية.
- اسم الملف :لينا.png
- حجم الملف :606
axes1 رمز رد الاتصال:
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);
أي نصيحة كيف نفعل ذلك؟؟
أنا أستخدم MATLAB R2012a.
المحلول
بالنسبة للجزء الأول:يستخدم fileparts
:
[~, fn, ext] = fileparts(info.Filename); %// get filename (no path) and extension
set(project.edit1, 'String', [fn ext])
بالنسبة للجزء الثاني:يستخدم round
:
set(project.edit2, 'String', round(info.FileSize/1024))
أو ربما تشير بشكل صريح إلى الوحدات (kB) في السلسلة:
set(project.edit2, 'String', [num2str(round(info.FileSize/1024)) ' kB'])
لا تنتمي إلى StackOverflow