次の方法で共有


Ink.GetBoundingBox メソッド (BoundingBoxMode)

指定された BoundingBoxMode フラグを使用して境界を決定し、Ink オブジェクト内のすべての Stroke オブジェクトを含む外接する Rectangle を返します。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public Function GetBoundingBox ( _
    mode As BoundingBoxMode _
) As Rectangle
'使用
Dim instance As Ink
Dim mode As BoundingBoxMode
Dim returnValue As Rectangle

returnValue = instance.GetBoundingBox(mode)
public Rectangle GetBoundingBox(
    BoundingBoxMode mode
)
public:
Rectangle GetBoundingBox(
    BoundingBoxMode mode
)
public Rectangle GetBoundingBox(
    BoundingBoxMode mode
)
public function GetBoundingBox(
    mode : BoundingBoxMode
) : Rectangle

パラメータ

戻り値

型 : System.Drawing.Rectangle
Ink オブジェクト内の Strokes コレクションの境界ボックスを定義する Rectangle

解説

外接する Rectangle はインク空間座標内にあります。

境界ボックスは、BoundingBoxMode モード以外のすべてのモードでキャッシュされます。

境界ボックスがペンの幅の影響を受ける場合は、Renderer オブジェクトのビュー変換に合わせてペンの幅が適切にスケーリングされます。つまり、ペンの幅はビュー変換の行列式の平方根で乗算されてスケーリングされます。

ms569599.alert_note(ja-jp,VS.90).gifメモ :

ペンの幅を明示的に設定していない場合は、既定値の 53 になります。正しい境界ボックスを生成するためには、ペンの幅を行列式の平方根で乗算する必要があります。境界ボックスの高さと幅はそれぞれ、この計算結果値の 1/2 だけ拡大されます。ペンの幅が 53 で行列式の平方根が 50、境界ボックスが (0, 0, 1000, 1000) であるとします。ペンの幅は (53 * 50) / 2 の計算結果に従って、境界ボックスの各方向に対して調整され、右側と下側は 1 ずつ増えます。この結果、(-1325, -1325, 2326, 2326) の境界ボックスが描画されます。

ms569599.alert_note(ja-jp,VS.90).gifメモ :

このメソッドが返す外接する Rectangle は、Ink オブジェクトの Strokes コレクションの境界ボックスのコピーです。このメソッドが返す Rectangle を変更しても、元の Ink オブジェクトの境界ボックスには影響しません。

ms569599.alert_note(ja-jp,VS.90).gifメモ :

Windows Vista 以降のバージョンでは、GetBoundingBox メソッドはストロークの幅を考慮に入れません。

この C# の例では、Ink オブジェクトの Strokes コレクションを含む外接する Rectangle を返します。Ink オブジェクトは、InkCollector オブジェクト theInkCollector に関連付けられます。この例では BoundingBoxMode 列挙体の CurveFit 値を使用して、境界ボックスの境界を決定します。

Rectangle theBoundingBox =
    theInkCollector.Ink.GetBoundingBox(BoundingBoxMode.CurveFit);

この Microsoft Visual Basic.NET の例では、Ink オブジェクトの Strokes コレクションを含む外接する Rectangle を返します。Ink オブジェクトは、InkCollector オブジェクト theInkCollector に関連付けられます。この例では、BoundingBoxMode 列挙体の BoundingBoxMode 値を使用して境界を決定します。

Dim theBoundingBox As Rectangle = _
    theInkCollector.Ink.GetBoundingBox(BoundingBoxMode.CurveFit)

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

Ink クラス

Ink メンバ

GetBoundingBox オーバーロード

Microsoft.Ink 名前空間

Strokes

BoundingBoxMode