Создайте rubberband поле для выбора области
rbbox
rbbox(initialRect)
rbbox(initialRect,fixedPoint)
rbbox(initialRect,fixedPoint,stepSize)
finalRect = rbbox(...)
rbbox
инициализирует и отслеживает rubberband, окружают текущую фигуру. Это устанавливает начальный прямоугольный размер поля к 0, привязывает поле в CurrentPoint
фигуры, и начинает отслеживать от этой точки.
rbbox(initialRect)
задает начальное местоположение и размер rubberband поля как [x y width height]
, где x
и y
задайте левый нижний угол и width
и height
задайте размер. initialRect
находится в модулях, заданных Units
текущей фигуры свойство, и измеренный от левого нижнего угла окна рисунка. Угол поля, самого близкого к позиции указателя, следует за указателем до
rbbox
получает событие кнопки.
rbbox(initialRect,fixedPoint)
задает угол поля, которое остается фиксированным. Все аргументы находятся в модулях, заданных Units
текущей фигуры свойство, и измеренный от левого нижнего угла окна рисунка.
fixedPoint
двухэлементный вектор, [x y]
. Точка отслеживания является углом, диаметрально противоположным привязанный угол, заданный fixedPoint
.
rbbox(initialRect,fixedPoint,stepSize)
задает, как часто rubberband поле обновляется. Когда точка отслеживания превышает stepSize
изобразите модули, rbbox
перерисовывает rubberband поле. Значением по умолчанию stepsize является 1
.
finalRect = rbbox(...)
возвращает четырехэлементный вектор, [x
y
width
height]
, где x
и y
компоненты X и Y левого нижнего угла поля и width
и height
размерности поля.
Создайте прямоугольник аннотации резиной, соединяющей прямоугольный размер в фигуре.
set(gcf,'Units','normalized') k = waitforbuttonpress; rect_pos = rbbox; annotation('rectangle',rect_pos,'Color','red')
Выполните код, щелкните вниз и перетащите прямоугольник в фигуре. Отпускание кнопки мыши чертит прямоугольник в фигуре.
rbbox
полезно для определения и изменения размеров прямоугольной области:
Для определения поля, initialRect
[x y 0 0]
, где (x,y)
CurrentPoint
фигуры.
Для изменения размеров поля, initialRect
задает прямоугольную область, которой вы изменяете размер (например, легенда). fixedPoint
угол, диаметрально противоположный точка отслеживания.
rbbox
сразу возвращается, если кнопка в настоящее время не нажимается. Поэтому вы используете rbbox
с waitforbuttonpress
так, чтобы кнопка мыши снизилась когда rbbox
называется. rbbox
возвращается, когда вы отпускаете кнопку мыши.