Ink.GetBoundingBox Method (BoundingBoxMode)
Returns the bounding Rectangle that contains all of the Stroke objects in the Ink object, by using the specified BoundingBoxMode flag to determine the bounds.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in microsoft.ink.dll)
Syntax
'Declaration
Public Function GetBoundingBox ( _
mode As BoundingBoxMode _
) As Rectangle
'Usage
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
Not applicable.
Parameters
- mode
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.
Return Value
The Rectangle that defines the bounding box of the Strokes collection in the Ink object.
Remarks
The bounding Rectangle is in ink space coordinates.
The bounding box is cached for all modes other than the BoundingBoxMode mode.
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 that this method returns is a copy of the bounding box of the Strokes collection of the Ink object. Altering the Rectangle that this method returns has no affect on the bounding box of the original Ink object.
Example
This C# example returns the bounding Rectangle 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);
This Microsoft Visual Basic.NET example returns the bounding Rectangle that contains the Strokes collection in an Ink object. The Ink object is associated with an InkCollector object, theInkCollector
. The example uses the BoundingBoxMode value of the BoundingBoxMode enumeration to determine the bounds.
Dim theBoundingBox As Rectangle = _
theInkCollector.Ink.GetBoundingBox(BoundingBoxMode.CurveFit)
Platforms
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Version Information
.NET Framework
Supported in: 3.0
See Also
Reference
Ink Class
Ink Members
Microsoft.Ink Namespace
Strokes
BoundingBoxMode