Stroke.GetBoundingBox Method
Stroke.GetBoundingBox Method |
Returns the bounding Rectangle that contains the Stroke object, by using the specified BoundingBoxMode flag to determine the bounds.
Definition
Visual Basic .NET Public Function GetBoundingBox( _
ByVal mode As BoundingBoxMode _
) As RectangleC# public Rectangle GetBoundingBox(
BoundingBoxMode mode
);Managed C++ public: Rectangle* GetBoundingBox(
BoundingBoxMode *mode
);
Parameters
> > >
mode Microsoft.Ink.BoundingBoxMode. A member of the BoundingBoxMode enumeration that specifies which characteristics of a Stroke object, such as drawing attributes, are used to calculate the bounding box of the Stroke object.
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 bounding Rectangle that defines the bounding box for the Stroke object.
Remarks
The bounding Rectangle is in ink space coordinates.
The bounding Rectangle corresponds to the portion of the display to invalidate or redraw when displaying a Stroke object.
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. For example, consider that the pen width is
53
, the square root of the determinant is50
, 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 that this method returns is a copy of the bounding box of the Stroke object. Altering the Rectangle that this method returns has no affect on the bounding box of the original Stroke object.
Examples
[C#]
This C# example gets the bounding box from a Stroke object, theStroke. The example uses the CurveFit value of the BoundingBoxMode enumeration to determine the bounds of the bounding box.
Rectangle theBoundingBox = theStroke.GetBoundingBox(BoundingBoxMode.CurveFit);
[VB.NET]
This Microsoft® Visual Basic® .NET example gets the bounding box from a Stroke object, theStroke. The example uses the CurveFit value of the BoundingBoxMode enumeration to determine the bounds of the bounding box.
Dim theBoundingBox As Rectangle = theStroke.GetBoundingBox(BoundingBoxMode.CurveFit)
See Also