rubberband box for rectangle selection
[final_rect, btn] = rubberbox() [final_rect, btn] = rubberbox(initial_rect) [final_rect, btn] = rubberbox(edition_mode) [final_rect, btn] = rubberbox(initial_rect, edition_mode)
a vector with two or four entries. With four entries it
gives the initial rectangle defined by [x_min,
y_max, width, height]
(where
x_min
and y_max
are coordinates of initial corner position, with two
entries width and height are supposed to be 0.
a boolean, if edition_mode
is
%t
button press selects the first
corner, release selects the opposite corner. If
edition_mode
is
%f
, a button press or click selects
the first corner, a click is requested to select the
opposite corner. The default value is
%f
.
a rectangle defined by [x_min, y_max, width, height]
.
an integer, the number of the mouse button clicked.
rubberbox(initial_rect)
tracks a rubberband box in
the current graphic window, following the mouse. When a button is
clicked rubberbox
returns the final
rectangles definition in final_Rect
. If the
argument initial_rect
is not specified, a click
is needed to fix the initial corner position.
clf plot2d() a = gca(); db = a.data_bounds; x0 = (db(1)*2+db(2))/3; dx = (db(2)-db(1))/3; y0 = (db(3)+db(4)*2)/3; dy = (db(4)-db(3))/3; xtitle(msprintf("With an initial starting corner: x0 = %0.2f, y0 = %0.2f",x0,y0)) r = rubberbox([x0 y0]) | ![]() | ![]() |
clf plot2d() a = gca(); db = a.data_bounds; x0 = (db(1)*2+db(2))/3; dx = (db(2)-db(1))/3; y0 = (db(3)+db(4)*2)/3; dy = (db(4)-db(3))/3; xtitle(msprintf("With an initial box: x0 = %0.2f, y0 = %0.2f, width = %0.2f, height = %0.2f,",x0-dx/4,y0+dy/5,2*dx,dy)) r = rubberbox([x0-dx/4 y0+dy/5 2*dx dy]) | ![]() | ![]() |