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
パラメータ
- mode
型 : Microsoft.Ink.BoundingBoxMode
BoundingBoxMode 列挙体のメンバ。これは、インクの境界ボックスの計算で使用するストロークの特性 (描画属性など) を指定します。
戻り値
型 : System.Drawing.Rectangle
Ink オブジェクト内の Strokes コレクションの境界ボックスを定義する Rectangle。
解説
外接する Rectangle はインク空間座標内にあります。
境界ボックスは、BoundingBoxMode モード以外のすべてのモードでキャッシュされます。
境界ボックスがペンの幅の影響を受ける場合は、Renderer オブジェクトのビュー変換に合わせてペンの幅が適切にスケーリングされます。つまり、ペンの幅はビュー変換の行列式の平方根で乗算されてスケーリングされます。
メモ : |
---|
ペンの幅を明示的に設定していない場合は、既定値の 53 になります。正しい境界ボックスを生成するためには、ペンの幅を行列式の平方根で乗算する必要があります。境界ボックスの高さと幅はそれぞれ、この計算結果値の 1/2 だけ拡大されます。ペンの幅が 53 で行列式の平方根が 50、境界ボックスが (0, 0, 1000, 1000) であるとします。ペンの幅は (53 * 50) / 2 の計算結果に従って、境界ボックスの各方向に対して調整され、右側と下側は 1 ずつ増えます。この結果、(-1325, -1325, 2326, 2326) の境界ボックスが描画されます。 |
メモ : |
---|
このメソッドが返す外接する Rectangle は、Ink オブジェクトの Strokes コレクションの境界ボックスのコピーです。このメソッドが返す Rectangle を変更しても、元の Ink オブジェクトの境界ボックスには影響しません。 |
メモ : |
---|
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