(Не рекомендуемый) Создать перетаскиваемый, изменяемый размер многоугольника
impoly не рекомендуется. Используйте новую Polygon вместо этого объект. Можно также использовать новую функцию удобства создания информация только для чтения drawpolygon. Другая опция является Polyline объект, который позволяет вам создать открытый многоугольник или polyline форму. Для получения дополнительной информации см. раздел Вопросов совместимости.
Система координат impoly объект инкапсулирует интерактивный многоугольник над изображением.
Можно добавить вершины и настроить размер и положение многоугольника при помощи мыши. Многоугольник также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации см. раздел Использование.
h = impoly начинает интерактивное размещение многоугольника на текущей системе координат и возвращает impoly объект.
h = impoly( начинает интерактивное размещение многоугольника на объекте, заданном hparent)hparent.
h = impoly(___, задает пары "имя-значение", которые управляют поведением многоугольника.Name,Value)
Когда вы звоните impoly с интерактивным синтаксисом, указатель изменяется на перекрестие
при наведении изображения. Щелкните мышью и перетащите мышь, чтобы задать вершины многоугольника и настроить размер, форму и положение многоугольника. По умолчанию impoly рисует прямую линию, соединяющую последнюю точку, которую вы нарисовали с первой точкой, но можно управлять этим поведением с помощью Closed параметр.
Многоугольник также поддерживает контекстное меню, которое можно использовать для управления аспектами его внешнего вида и поведения. Варианты выбора в контекстном меню варьируются в зависимости от положения указателя мыши на краю многоугольника (или в любом месте области) или на одной из вершин. Рисунок показывает контекстное меню, когда указатель находится на многоугольник, но не на вершине.

В таблице перечислены интерактивные модели поведения, поддерживаемые impoly.
| Интерактивное поведение | Описание |
|---|---|
| Закрытие многоугольника. | Используйте любой из следующих механизмов:
|
| Добавление новой вершины. | Наведите указатель мыши на ребро многоугольника. Нажмите и удерживайте клавишу A. Форма указателя изменяется. |
| Перемещение вершины. (Изменение формы многоугольника.) | Наведите указатель мыши на вершину. Указатель изменяется на круг. |
| Удаление вершины. | Наведите указатель мыши на вершину. Форма изменяется на окружность. |
| Удаление многоугольника | Переместить указатель мыши внутрь многоугольника или на одну из линий, определяющих многоугольник, а не на его вершине. Щелкните правой кнопкой мыши и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите Deletable свойство false: h = impoly(); h.Deletable = false; |
| Перемещение многоугольника. | Переместите указатель мыши внутрь многоугольника. Указатель изменяется на гибкую форму. |
| Изменение цвета многоугольника | Переместите указатель мыши внутрь многоугольника. Щелкните правой кнопкой мыши и выберите Set Color из контекстного меню. |
| Получение координат вершин | Переместите указатель мыши внутрь многоугольника. Щелкните правой кнопкой мыши и выберите Copy Position из контекстного меню. impoly копирует n -by-2 массив, содержащий x - и y - координаты каждой вершины в буфер обмена. n - количество заданных вершин . |
Каждый impoly объект поддерживает несколько методов. Тип methods impoly чтобы увидеть полный список.
addNewPositionCallback | Добавьте коллбэк с новой позицией к объекту информация только для чтения |
createMask | Создайте маску в изображении |
delete | Удалить указатель объекта |
getColor | Получите цвет, используемый для рисования объекта информация только для чтения |
getPosition | Возврат текущей позиции объекта информация только для чтения |
getPositionConstraintFcn | Возвращает указатель на функцию ограничения текущего положения |
removeNewPositionCallback | Удалите коллбэк с новой позицией из объекта информация только для чтения |
resume | (Не рекомендуемый) Возобновить выполнение командной строки MATLAB |
setClosed | Установите поведение замыкания информации только для чтения объекта |
setColor | Установите цвет, используемый для рисования объекта информация только для чтения |
setConstrainedPosition | Установите объект информация только для чтения в новое положение |
setPosition | (Не рекомендуемый) Переместить объект информация только для чтения в новое положение |
setPositionConstraintFcn | Установите функцию ограничения положения объекта информация только для чтения |
setVerticesDraggable | Установите вершинное поведение объекта информация только для чтения |
wait | (Не рекомендуемый) Блокируйте командную строку MATLAB до завершения создания информация только для чтения |
Если вы используете impoly с помощью оси, которая содержит объект изображения и не задает функцию ограничения положения, пользователи могут перетащить многоугольник за пределы области изображения и потерять многоугольник. При использовании с осями, созданными plot функция, пределы осей автоматически расширяются, когда многоугольник перетаскивается за пределы области осей.