Главная страница

Матлаб. Информация о владельце фио Локтионова Оксана Геннадьевна


Скачать 1.64 Mb.
НазваниеИнформация о владельце фио Локтионова Оксана Геннадьевна
АнкорМатлаб
Дата07.02.2022
Размер1.64 Mb.
Формат файлаpdf
Имя файлаMU_Vvedenie_v_matlab_LZNo_1-4.pdf
ТипЛабораторная работа
#354464
страница6 из 6
1   2   3   4   5   6
Лабораторная работа №4
2.
Для масштабируемости окна и его элементов устанавливаем
GUI-options значение свойства масштабируемости Resizable, но сверх того во всех элементах в GUIDE свойство Units как Proportional.
Средствами GUIDE размечаем саму figure, оси, статический текст, текст в боксе и кнопку пуска. Средствами GUIDE размечаем само меню, затем сохраняем оба файла (lab42.fig и lab42.m). Далее редактируем последний файл самостоятельно, чтобы: во-первых, доопределить обработчики, а во-вторых, создать логотип, панель инструментов и задать их обработчики.
Листинг файла lab42.m без избыточных комментариев и процедур см. ниже (рисунок 31): function varargout = lab42(varargin)
% Begin initialization code - DO NOT EDIT

115 gui_Singleton = 1; gui_State = struct(
'gui_Name'
, mfilename,
'gui_Singleton'
, gui_Singleton,
'gui_OpeningFcn'
,
@lab42_OpeningFcn,
'gui_OutputFcn'
,
@lab42_OutputFcn,
'gui_LayoutFcn'
, [],
'gui_Callback'
, []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end
% End initialization code - DO NOT EDIT
Рисунок 31 - Листинг файла lab42.m без избыточных комментариев и процедур

116
% --- Executes just before lab42 is made visible.
function lab42_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for lab42
handles.output = hObject;
%Добавление элементов handles.toolbar1=uitoolbar(
'Tag'
,
'toolbar1'
); handles.tbr_button1=uipushtool(handles.toolbar1,
'T
ag'
,
'tbr_button1'
); handles.tbr_button2=uipushtool(handles.toolbar1,
'T
ag'
,
'tbr_button2'
); handles.tbr_button3=uipushtool(handles.toolbar1,
'T
ag'
,
'tbr_button3'
);
%1-й способ - создание картинки на лету x=ones(20);CData=cat(3,x,x/2,x/3);set(handles.tbr_
button1,
'CData'
,CData);
%2-й способ - чтение из bmp-файла. Функция imresize не из ядра МАТЛАБ
x=imread(
'photo.bmp'
,
'bmp'
);CData=imresize(x,[20 20],
'bilinear'
); set(handles.tbr_button2,
'CData'
,CData,
'TooltipStri ng'
,
'2-я кнопка'
);
%3-й способ - чтение из ico-файла с помощью утилиты iconRead
% работа утилиты зависит от формата файла и не всегда корректна icopath=fullfile(matlabroot,
'help'
,
'techdoc'
,
'crea ting_guis'
,
'examples'
); path(icopath,path);CData=iconRead(
'my.ico'
);rmpath
(icopath); set(handles.tbr_button3,
'CData'
,CData,
'TooltipStri ng'
,
'3-я кнопка'
);
%Поместим логотип в верхнем правом углу mn=[50 50];x=imread(
'photo.bmp'
,
'bmp'
);CData=imresize(x,m n,
'bilinear'
); h=handles.output;set(h,
'Units'
,
'pixels'
);pos=get(h
,
'Position'
); pos=[pos(3)-mn(1) pos(4)-mn(2) mn];

117 haxes_im=axes(
'Tag'
,
'axes_im'
,
'Units'
,
'pixels'
,
'Po sition'
,pos,
'Parent'
,h); set(h,
'Units'
,
'normalized'
);set(haxes_im,
'Units'
,
'
normalized'
); handles.haxes_im=haxes_im;handles.im=image(CData,
'
Parent'
,haxes_im,
'Tag'
,
'im'
); set(haxes_im,
'Visible'
,
'off'
);
%Установка вызова обработчика для первой кнопки панели инструментов set(handles.tbr_button1,
'ClickedCallback'
,{@tbr1_C
allback, handles,
'Апельсины'
});
% Update handles structure guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = lab42_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. 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)
axes(handles.axes1);cla reset
;set(gca,
'Color'
,
'Yellow'
); text(0.1,0.1,
'Да здравствует Лимон!'
);
% ------------------------------------------------ function
Kapusta_Callback(hObject, eventdata, handles)
% hObject handle to Kapusta (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data
(see GUIDATA)

118 beep; function tbr1_Callback(hObject, eventdata, handles, label) axes(handles.axes1);cla reset
;set(gca,
'Color'
,[1 1/2 1/3]); text(0.1,0.1,label);title(label);set(hObject,
'Tool
TipString'
,
'Apelsin'
);
1   2   3   4   5   6


написать администратору сайта