Создайте 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
возвращается, когда вы отпускаете кнопку мыши.