rubberbox
矩形選択用の輪ゴムボックス
呼び出し手順
[final_rect,btn]=rubberbox() [final_rect,btn]=rubberbox(initial_rect) [final_rect,btn]=rubberbox(edition_mode) [final_rect,btn]=rubberbox(initial_rect, edition_mode)
Pパラメータ
- initial_rect
2個または4個のエントリを有するベクトル.4個のエントリを有する場合, [x_min, y_max, width, height]で定義される初期矩形を指定し, 2個のエントリを有する場合, 幅と高さは0と仮定されます.
- edition_mode
論理値, edition_mode が
%t
の場合, ボタンを押すと最初の角が選択され,開放すると反対の角が選択されます. edition_mode が%f
の場合, ボタンを押すか クリックすると最初の角,クリックすると反対の角が選択されます. デフォルトは %f です.- final_rect
[x_min, y_max, width, height]で定義された矩形
- btn
整数, マウスボタンがクリックされた回数
説明
rubberbox(initial_rect)
はマウスに基づき
カレントのグラフィックウインドウ内で輪ゴムボックスを
追跡します.
ボタンがクリックされると, rubberbox
は
final_Rect
で定義された最後の矩形を返します
引数initial_rect
が指定されない場合,
最初の角の位置を固定するためのクリックが必要です.
例
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, hight = %0.2f,",x0-dx/4,y0+dy/5,2*dx,dy)) r = rubberbox([x0-dx/4 y0+dy/5 2*dx dy])
参照
Report an issue | ||
<< locate | interaction | seteventhandler >> |