Strokes.GetBoundingBox, méthode (BoundingBoxMode)
Mise à jour : November 2007
Retourne le Rectangle (page pouvant être en anglais) englobant qui contient l'objet Stroke, à l'aide de l'indicateur BoundingBoxMode spécifié pour déterminer les limites.
Espace de noms : Microsoft.Ink
Assembly : Microsoft.Ink (dans Microsoft.Ink.dll)
Syntaxe
'Déclaration
Public Function GetBoundingBox ( _
mode As BoundingBoxMode _
) As Rectangle
'Utilisation
Dim instance As Strokes
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
Paramètres
- mode
Type : Microsoft.Ink.BoundingBoxMode
Membre de l'énumération BoundingBoxMode qui spécifie quelles caractéristiques d'une collection Strokes, telles que les attributs de dessin, sont utilisées pour calculer le cadre englobant de la collection Strokes.
Valeur de retour
Type : System.Drawing.Rectangle
Retourne le Rectangle (page pouvant être en anglais) englobant qui définit le cadre englobant pour la collection Strokes.
Notes
Le Rectangle englobant (page pouvant être en anglais) est inclus dans les coordonnées de l'espace d'entrée manuscrite.
Le Rectangle (page pouvant être en anglais) englobant correspond à la partie de l'affichage à invalider ou redessiner lors de l'affichage d'une collection Strokes.
Le cadre englobant est mis en cache pour tous les modes autres que BoundingBoxMode.
Lorsque la largeur du stylet affecte le cadre englobant, elle est mise à l'échelle pour la transformation d'affichage de l'objet Renderer. Pour ce faire, la largeur du stylet est multipliée par la racine carrée du déterminant de la transformation d'affichage.
Remarque : |
---|
Si vous n'avez pas explicitement défini la largeur du stylet, sa valeur par défaut est 53. Vous devez multiplier la largeur du stylet par la racine carrée du déterminant pour obtenir le cadre englobant approprié. La hauteur et la largeur du cadre englobant sont augmentées de la moitié de cette valeur dans chaque direction. Par exemple, si la largeur du stylet est 53, la racine carrée du déterminant est 50 et le cadre englobant est (0, 0, 1000, 1000). Le réglage de la largeur du stylet au cadre englobant dans chaque direction est calculé de la façon suivante : (53 * 50) / 2 . Le côté droit et le bas sont incrémentés d'une unité. Un cadre englobant rendu de (-1325, -1325, 2326, 2326) est créé. |
Remarque : |
---|
Le Rectangle (page pouvant être en anglais) englobant retourné par cette méthode est une copie du cadre englobant de la collection Strokes. La modification du Rectangle (page pouvant être en anglais) que cette méthode retourne n'a aucun effet sur le cadre englobant de la collection Strokes d'origine. |
Exemples
Dans cet exemple, la collection Strokes d'un objet InkOverlay est mise à l'échelle pour rentrer dans la moitié gauche du cadre englobant d'origine. En premier lieu, le rectangle englobant de la collection Strokes est obtenu par l'appel à la méthode GetBoundingBox utilisant la valeur CurveFit de l'énumération BoundingBoxMode pour déterminer les limites du cadre englobant. Puis un nouveau rectangle moitié moins large que l'original est créé et passé à la méthode ScaleToRectangle.
' Access to the Strokes property returns a copy of the Strokes object.
' This copy must be implicitly (via using statement) or explicitly
' disposed of in order to avoid a memory leak.
Using allStrokes As Strokes = mInkOverlay.Ink.Strokes
Dim bounds As Rectangle = allStrokes.GetBoundingBox(BoundingBoxMode.CurveFit)
Dim halfRectangle As Rectangle = _
New Rectangle(bounds.Left, bounds.Top, bounds.Width / 2, bounds.Height)
allStrokes.ScaleToRectangle(halfRectangle)
End Using
// Access to the Strokes property returns a copy of the Strokes object.
// This copy must be implicitly (via using statement) or explicitly
// disposed of in order to avoid a memory leak.
using (Strokes allStrokes = mInkOverlay.Ink.Strokes)
{
Rectangle bounds = allStrokes.GetBoundingBox(BoundingBoxMode.CurveFit);
Rectangle halfRectangle =
new Rectangle(bounds.Left, bounds.Top, bounds.Width / 2, bounds.Height);
allStrokes.ScaleToRectangle(halfRectangle);
}
Plateformes
Windows Vista
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Informations de version
.NET Framework
Pris en charge dans : 3.0