Share via


Ink.GetBoundingBox Method

Ink.GetBoundingBox Method

Returns the bounding Rectangle Leave Site that contains all of the Stroke objects in the Ink object, by using the specified BoundingBoxMode flag to determine the bounds.

Definition

Visual Basic .NET Public Function GetBoundingBox( _
ByVal mode As BoundingBoxMode _
) As Rectangle
C# public Rectangle GetBoundingBox(
BoundingBoxMode mode
);
Managed C++ public: Rectangle* GetBoundingBox(
BoundingBoxMode *mode
);

Parameters

> > >
mode Microsoft.Ink.BoundingBoxMode. A member of the BoundingBoxMode enumeration, which specifies which characteristics of a stroke, such as drawing attributes, are used to calculate the bounding box of the ink.

Default0 Use the definition of each stroke.
NoCurveFit1 Use the polyline of the strokes.
CurveFit2 Use the Bezier curve fitting line of the strokes.
PointsOnly3 Use only the points of the strokes.
Union4 The union of NoCurveFit and CurveFit request.

Return Value

System.Drawing.Rectangle. Returns the Rectangle Leave Site that defines the bounding box of the Strokes collection in the Ink object.

Exceptions

ObjectDisposedException Leave Site: The Ink object is disposed.

Remarks

The bounding Rectangle Leave Site is in ink space coordinates.

When the bounding box is affected by the pen width, then this width is scaled appropriately for the Renderer object's view transform. To do this, the pen width is multiplied by the square root of the determinant of the view transform.

Note: If you have not set the pen width explicitly, it is 53 by default. You must multiply the pen width by the square root of the determinant to yield the correct bounding box. The height and width of the bounding box are expanded by half this amount in each direction. Consider an example in which the pen width is 53, the square root of the determinant is 50, and the bounding box is (0, 0, 1000, 1000). The pen width adjustment to the bounding box in each direction is calculated as (53 * 50) / 2, and the right and bottom sides are incremented by one. This results in a rendered bounding box of (-1325, -1325, 2326, 2326).

Note: The bounding Rectangle Leave Site that this method returns is a copy of the bounding box of the Strokes collection of the Ink object. Altering the Rectangle Leave Site that this method returns has no affect on the bounding box of the original Ink object.

Examples

[C#]

This C# example returns the bounding Rectangle Leave Site that contains the Strokes collection in an Ink object. The Ink object is associated with an InkCollector object, theInkCollector. The example uses the CurveFit value of the BoundingBoxMode enumeration to determine the bounds of the bounding box.

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

[Visual Basic .NET]

This Microsoft® Visual Basic® .NET example returns the bounding Rectangle Leave Site that contains the Strokes collection in an Ink object. The Ink object is associated with an InkCollector object, theInkCollector. The example uses the CurveFit value of the BoundingBoxMode enumeration to determine the bounds.

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

See Also