imellipse

(Не рекомендуемый) Создать перетаскиваемый эллипс

imellipse не рекомендуется. Используйте Ellipse Вместо этого объект информация только для чтения. Можно также использовать функцию удобства создания информация только для чтения drawellipse. Если вы использовали imellipse для создания кругового информация только для чтения используйте Circle Вместо этого объект информация только для чтения. Для получения дополнительной информации см. раздел Вопросов совместимости.

Описание

Система координат imellipse объект инкапсулирует интерактивный эллипс над изображением.

Размер и положение эллипса можно настроить при помощи мыши. Эллипс также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации см. раздел Использование.

Создание

Описание

h = imellipse начинает интерактивное размещение эллипса на текущей системе координат и возвращает imellipse объект.

h = imellipse(hparent) начинается интерактивное размещение эллипса на объекте, заданном hparent.

пример

h = imellipse(hparent,position) создает перетаскиваемый эллипс в положении position на объекте, заданном как hparent.

h = imellipse(___,Name,Value) задает пары "имя-значение", которые управляют поведением эллипса.

Входные параметры

расширить все

Указатель на родительский объект, заданный как указатель. Родительским элементом обычно является объект осей, но может также быть любой другой объект, который может быть родительским элементом an hggroup объект.

Положение эллипса, заданное ограничивающим прямоугольником, заданным как 4-элементный вектор формы [xmin ymin width height]. Начальный размер ограничивающего прямоугольника width-by- height, и верхний левый угол прямоугольника находится в координате (x, y) (xmin, ymin).

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Функция ограничения положения, заданная как разделенная разделенными запятой парами, состоящая из 'PositionConstraintFcn' и указатель на функцию. fcn вызывается каждый раз, когда мышь перетаскивается. Можно использовать эту функцию для управления, куда можно перетащить эллипс. Смотрите справку для setPositionConstraintFcn для получения информации о действительных указателях на функцию.

Свойства

расширить все

Информация только для чтения можно удалить, задав как true или false.

Типы данных: logical

Использование

Когда вы звоните imellipse с интерактивным синтаксисом, указатель изменяется на перекрестие при наведении изображения. Щелкните мышью и перетащите мышь, чтобы задать размер и положение эллипса. Эллипс также поддерживает контекстное меню, которое можно использовать для управления аспектами его внешнего вида и поведения. Щелкните правой кнопкой мыши по эллипсу, чтобы получить доступ к этому контекстному меню.

В таблице перечислено интерактивное поведение, поддерживаемое imellipse.

Интерактивное поведениеОписание
Перемещение всего эллипса.Переместите указатель внутрь эллипса. Указатель изменяется на гибкую форму. Щелкните мышью и перетащите мышь, чтобы переместить эллипс.
Изменение размера эллипса.Наведите указатель мыши на указатель изменения размера на эллипсе. Указатель изменяется на форму стрелы с двумя концами. Щелкните мышью и перетащите мышь, чтобы изменить размер эллипса.
Изменение цвета, используемого для отображения эллипса. Переместите указатель внутрь эллипса. Щелкните правой кнопкой мыши и выберите Set Color из контекстного меню.
Получение текущего положения эллипса.Переместите указатель внутрь эллипса. Щелкните правой кнопкой мыши и выберите Copy Position из контекстного меню. imellipse копирует вектор положения с четырьмя элементами [xmin ymin width height] в буфер обмена.
Сохранение текущего соотношения сторон эллипса во время изменения размера.Переместите указатель внутрь эллипса. Щелкните правой кнопкой мыши и выберите Fix Aspect Ratio из контекстного меню.
Удаление эллипсаПереместите указатель внутрь эллипса. Щелкните правой кнопкой мыши и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите Deletable свойство false: h = imellipse(); h.Deletable = false;

Функции объекта

Каждый imellipse объект поддерживает несколько методов. Тип methods imellipse чтобы увидеть полный список.

addNewPositionCallbackДобавьте коллбэк с новой позицией к объекту информация только для чтения
createMaskСоздайте маску в изображении
deleteУдалить указатель объекта
getColorПолучите цвет, используемый для рисования объекта информация только для чтения
getPositionВозврат текущей позиции объекта информация только для чтения
getPositionConstraintFcnВозвращает указатель на функцию ограничения текущего положения
getVerticesВершины по периметру объекта ellipse ROI
removeNewPositionCallbackУдалите коллбэк с новой позицией из объекта информация только для чтения
resume(Не рекомендуемый) Возобновить выполнение командной строки MATLAB
setColorУстановите цвет, используемый для рисования объекта информация только для чтения
setConstrainedPositionУстановите объект информация только для чтения в новое положение
setFixedAspectRatioModeСохраните соотношение сторон при изменении размера объекта информация только для чтения
setPosition(Не рекомендуемый) Переместить объект информация только для чтения в новое положение
setPositionConstraintFcnУстановите функцию ограничения положения объекта информация только для чтения
setResizableУстановите поведение изменения размера объекта информация только для чтения
wait(Не рекомендуемый) Блокируйте командную строку MATLAB до завершения создания информация только для чтения

Примеры

Обновление заголовка при перемещении эллипса

Создайте эллипс, используя коллбэки, чтобы отобразить обновленное положение в заголовке рисунка. Пример иллюстрирует использование makeConstrainToRectFcn чтобы сохранить эллипс внутри исходного XLim и YLim области значений.

imshow('coins.png')
h = imellipse(gca,[10 10 100 100]);
addNewPositionCallback(h,@(p) title(mat2str(p,3)));
fcn = makeConstrainToRectFcn('imellipse',get(gca,'XLim'),get(gca,'YLim'));
setPositionConstraintFcn(h,fcn);

Щелкните и перетащите мышью, чтобы разместить эллипс

В интерактивном режиме разместите эллипс нажатием и перетаскиванием мыши. Использовать wait чтобы заблокировать MATLAB® командная строка. Дважды кликните эллипс, чтобы возобновить выполнение командной строки MATLAB.

imshow('coins.png')
h = imellipse;
position = wait(h);

Совет

Если вы используете imellipse с помощью оси, которая содержит объект изображения и не задает функцию ограничения положения, пользователи могут перетащить эллипс за пределы области изображения и потерять эллипс. При использовании с осями, созданными plot function, пределы осей автоматически расширяются, чтобы соответствовать перемещению эллипса.

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2018b

Введенный в R2007b