MATLAB Function Reference |
Create rubberband box for area selection
Synopsis
rbbox rbbox(initialRect) rbbox(initialRect,fixedPoint) rbbox(initialRect,fixedPoint,stepSize) finalRect = rbbox(...)
Description
rbbox
在目前的圖形(figure)中建立並拖曳出(tracks) rubberband box。建立一個
rubberband box時會先將大小設為0,並將點設在圖形的 CurrentPoint
中,再開始拖曳此點。
rbbox(initialRect)
利用[x y width height]
的格式來建立一個rubberband
box, x
和 y
定義 box 的左下角位置, width
和 height
定義大小。 initialRect
是在目前圖形單位的一部分( initialRect
is in the units specified by the current figure's Units
property),並從圖形視窗(figure
window)的左下角來計算位置。而box的另一角是隨著遊標的位置移動,直到按鍵放開為止。
rbbox(initialRect,fixedPoint)
建立 box 時固定其一角位置。所有的引數(argument)都是目前圖形單位的一部分(All arguments are in the units specified by the current figure's Units
property),
並從圖形視窗(figure window)的左下角來計算位置。 fixedPoint
是二個元素的陣列 [x y]
。box
的某一角位置由 fixedPoint
決定。
rbbox(initialRect,fixedPoint,stepSize)
以 stepsize
所定義大小來決定 box
每格的大小。當拖曳時指標超過了這次的 stepSize
時,rubberbox 的大小才會改變成目前指定的大小。預設值為 1。(
When the tracking point exceeds stepSize
figure units, rbbox
redraws the rubberband box. The default stepsize is 1
.)
finalRect = rbbox(...)
回傳四個元素的向量 [x
y
width
height]
。 x
和 y
是 box 左下角的座標位置。 width
和 height
是 box
的大小。
Remarks
rbbox
常拿來定義新的長方形和重新定義長方形的範圍大小:
initialRect
為 [x y 0 0]
, (x,y)
為圖形(figure)的 CurrentPoint
。initialRect
定義長方形的範圍大小(e.g., a legend),也可用 fixedPoint
和拖曳放開後的點定義長方形的範圍。在滑鼠按鍵目前沒有按下的情形之下,rbbox
會立刻回傳值。為了確保在呼叫 rbbox
時滑鼠鍵是壓下去的,因此要和 waitforbuttonpress
一起使用。在放開滑鼠鍵後, rbbox
便會回傳值了。
Examples
Assuming the current view is view(2)
, 利用 CurrentPoint
特性在 dataspace 中拉出一個長方形。
k = waitforbuttonpress; point1 = get(gca,'CurrentPoint'); % button down detected finalRect = rbbox; % return figure units point2 = get(gca,'CurrentPoint'); % button up detected point1 = point1(1,1:2); % extract x and y point2 = point2(1,1:2); p1 = min(point1,point2); % calculate locations offset = abs(point1-point2); % and dimensions x = [p1(1) p1(1)+offset(1) p1(1)+offset(1) p1(1) p1(1)]; y = [p1(2) p1(2) p1(2)+offset(2) p1(2)+offset(2) p1(2)]; hold on axis manual plot(x,y) % redraw in dataspace units
See Also
axis
, dragrect
, waitforbuttonpress
rat, rats | rcond |