Stroke.GetBoundingBox Method
Returns the bounding Rectangle that defines the bounding box for the Stroke object.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Function GetBoundingBox As Rectangle
'Usage
Dim instance As Stroke
Dim returnValue As Rectangle
returnValue = instance.GetBoundingBox()
public Rectangle GetBoundingBox()
public:
Rectangle GetBoundingBox()
public function GetBoundingBox() : Rectangle
Return Value
Type: System.Drawing.Rectangle
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 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 Stroke object. Altering the Rectangle that this method returns has no affect on the bounding box of the original Stroke object.
Examples
In this example, each selected Stroke object of an InkOverlay is modified. First, the GetBoundingBox method is called to determine the bounding rectangle for a selected Stroke. The resultant rectangle is then modified to be half of its original width. Then the Clip method is called to clip the right half of the Stroke.
For Each S As Stroke In mInkOverlay.Selection
Dim sBounds As Rectangle = S.GetBoundingBox()
' decrease width by half
sBounds.Width -= sBounds.Width / 2
' clip the stroke
S.Clip(sBounds)
Next
foreach (Stroke S in mInkOverlay.Selection)
{
Rectangle sBounds = S.GetBoundingBox();
// decrease width by half
sBounds.Width -= sBounds.Width / 2;
// clip the stroke
S.Clip(sBounds);
}
Platforms
Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information
.NET Framework
Supported in: 3.0