stringbox テキストまたはラベルのバウンディングボックスを計算

## 呼び出し手順

    rect = stringbox( string, x, y, [angle, [fontStyle, [fontSize]]] )

                rect = stringbox( Handle )

## 引数

rect

  バウンディングボックスの4頂点の座標を有する2x4 行列.

string

  囲われる文字列行列.

x,y

  実数スカラー, 文字列の左下の座標.

angle

  文字列の点`(x,y)`を中心とする時計回りの回転角(単位:度)

fonStyle

  フォントの型を指定する整数.

fontSize

  フォントの大きさを指定する整数.

Handle

  Textまたは Label型のグラフィックハンドル.

## 説明

`stringbox` はtextまたはlabelオブジェクトまたは 特定の手段で表示される文字列を囲う矩形の頂点を返します. 座標はカレントのグラフィックスケールで指定されます. 最初の頂点はテキストの座標 `(x,y)`の 回転しない状態で左下の点に対応し, 以下の頂点は時計回りに戻り値の行列に指定されます.

結果は PostScriptドライバに指定するにはあまり正確ではない可能性があります.

## 例

    // 軸を表示

    axes = gca() ;

    axes.axes_visible = 'on' ;

    axes.data_bounds = [ 1, 1 ; 10, 10 ] ;

    // 軸にラベルを表示

    xtitle( 'stringbox', 'X', 'Y' )  ;

    // Xラベルのバウンディングボックスを取得

    stringbox( axes.x_label )

    // 文字列を描画

    str = [ "Scilab", "is" , "not", "Skylab" ] ;

    xstring( 4, 9, str ) ;

    //テキストを修正

    e = gce() ;

    e.font_angle = 90 ;

    e.font_size    = 6  ;

    e.font_style   = 7 ;

    e.box = 'on' ;

    // バウンディングボックスを取得

    stringbox( e )

    // または

    rect = stringbox( str, 4, 9, 90, 7, 6 )

    // クリックし,テキストがヒットしたかどうかを確認

    hit = xclick()  ;

    hit = hit( 2 : 3 ) ;

    if hit(1) >= rect(1,1)  & hit(1) <=  rect(1,2) & hit(2) <= rect(2,2) & hit(2) >= rect(2,3) then

      disp('You hit the text.') ;

    else

      disp('You missed it.')

    end;

axes = gca() ; axes.axes_visible = 'on' ; axes.data_bounds = [ 1, 1 ; 10, 10 ] ; xtitle( 'stringbox', 'X', 'Y' ) ; stringbox( axes.x_label ) str = [ "Scilab", "is" , "not", "Skylab" ] ; xstring( 4, 9, str ) ;

## 参照

- xstring
- xstringl
- xstringb