ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

rbbox

領域を選択するためのラバーバンド ボックスの作成

構文

rbbox
rbbox(initialRect)
rbbox(initialRect,fixedPoint)
rbbox(initialRect,fixedPoint,stepSize)
finalRect = rbbox(...)

説明

rbbox は、現在の Figure 内のボックス型を初期化し、追跡します。初期の四角形ボックスのサイズを 0 に設定し、Figure の CurrentPoint にボックスを設定し、Figure のこの点から追跡を開始します。

rbbox(initialRect) は、ラバーバンド ボックスの初期の位置とサイズを [x y width height] として指定します。ここで、xy は、左下隅を定義し、widthheight はサイズを定義します。initialRect は、現在の Figure の Units プロパティで指定される単位を使って、Figure ウィンドウの左下隅から測定されます。ポインターの位置に最も近いボックスの隅は、rbbox がボタン解除のイベントを受け取るまでポインターを追跡します。

rbbox(initialRect,fixedPoint) は、固定したままのボックスの隅を指定します。すべての引数は、現在の Figure の Units プロパティで指定される単位で表され、Figure ウィンドウの左下隅から測定されます。fixedPoint は、2 要素のベクトル [x y] です。追跡点は、fixedPoint で定義された固定されたボックスの隅の反対側の隅です。

rbbox(initialRect,fixedPoint,stepSize) は、ラバーバンド ボックスが更新される頻度を指定します。追跡点が Figure の単位で stepSize を超えたとき、rbbox は、ラバーバンド ボックスが更新される頻度を指定します。既定のステップサイズは 1 です。

finalRect = rbbox(...) は、4 要素のベクトル [x y width height] を返します。ここで、xy は、左下の xy 成分で、widthheight はボックスの寸法です。

現在の視点を view(2) とし、データ空間単位を使って四角形の大きさを決めるために、現在の Axes の CurrentPoint プロパティを使います。

f = figure; 
a = axes('Parent',f); 
k = waitforbuttonpress; 
point1 = get(a,'CurrentPoint');    % button down detected 
finalRect = rbbox;                 % return figure units 
point2 = get(a,'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

詳細

すべて展開する

ヒント

rbbox は、四角形領域の定義やサイズ変更に有用です。

  • ボックスの定義に対して、(x,y) が Figure の CurrentPoint のとき、initialRect[x y 0 0] です。

  • ボックスのサイズ変更に対して、initialRect はサイズ変更する四角形の領域 (たとえば凡例) を指定します。fixedPoint は、追跡点の反対側の隅です。

rbbox は、ボタンが押されていない場合は、すぐに返します。そのため、rbbox が呼び出されたとき、マウス ボタンが押されるように、rbboxwaitforbuttonpress と共に使用します。rbbox は、マウス ボタンを解除したときに返します。

この情報は役に立ちましたか?