Create rubberband box for area selection
rbbox
rbbox(initialRect)
rbbox(initialRect,fixedPoint)
rbbox(initialRect,fixedPoint,stepSize)
finalRect = rbbox(...)
rbbox
initializes and
tracks a rubberband box in the current figure. It sets the initial
rectangular size of the box to 0, anchors the box at the figure's CurrentPoint
,
and begins tracking from this point.
rbbox(initialRect)
specifies
the initial location and size of the rubberband box as [x
y width height]
, where x
and y
define
the lower left corner, and width
and height
define
the size. initialRect
is in the units specified
by the current figure's Units
property, and measured
from the lower left corner of the figure window. The corner of the
box closest to the pointer position follows the pointer until rbbox
receives
a button-up event.
rbbox(initialRect,fixedPoint)
specifies the corner of the box that remains fixed. All arguments
are in the units specified by the current figure's Units
property,
and measured from the lower left corner of the figure window. fixedPoint
is
a two-element vector, [x y]
. The tracking point
is the corner diametrically opposite the anchored corner defined by fixedPoint
.
rbbox(initialRect,fixedPoint,stepSize)
specifies how frequently the rubberband box is updated. When the tracking
point exceeds stepSize
figure units, rbbox
redraws
the rubberband box. The default stepsize is 1
.
finalRect = rbbox(...)
returns a four-element vector, [x
y
width
height]
,
where x
and y
are the x and y components
of the lower left corner of the box, and width
and height
are
the dimensions of the box.
Create an annotation rectangle by rubber banding the rectangle size in the figure.
set(gcf,'Units','normalized') k = waitforbuttonpress; rect_pos = rbbox; annotation('rectangle',rect_pos,'Color','red')
Execute the code, click down and drag a rectangle within the figure. Releasing the mouse button draws a rectangle in the figure.
rbbox
is useful for defining and resizing
a rectangular region:
For box definition, initialRect
is [x
y 0 0]
, where (x,y)
is the figure's CurrentPoint
.
For box resizing, initialRect
defines
the rectangular region that you resize (e.g., a legend). fixedPoint
is
the corner diametrically opposite the tracking point.
rbbox
returns immediately if a button is
not currently pressed. Therefore, you use rbbox
with waitforbuttonpress
so
that the mouse button is down when rbbox
is called. rbbox
returns
when you release the mouse button.