GraphicsPath::GetBounds(Rect*,constMatrix*,constPen*) , méthode (gdipluspath.h)
La méthode GraphicsPath::GetBounds obtient un rectangle englobant pour ce chemin.
Syntaxe
Status GetBounds(
[out] Rect *bounds,
[in] const Matrix *matrix,
[in] const Pen *pen
);
Paramètres
[out] bounds
Type : Rect*
Pointeur vers un objet Rect qui reçoit le rectangle englobant.
[in] matrix
Type : const Matrix*
Optionnel. Pointeur vers un objet Matrix qui spécifie une transformation à appliquer à ce chemin avant le calcul du rectangle englobant. Le tracé n'est pas transformé de manière définitive ; la transformation est utilisée durant le calcul du rectangle englobant uniquement. La valeur par défaut est NULL.
[in] pen
Type : stylet* const
Optionnel. Pointeur vers un objet Pen qui influence la taille du rectangle englobant. Le rectangle englobant reçu dans les limites est suffisamment grand pour contenir ce chemin lorsque le chemin est dessiné avec le stylet spécifié par ce paramètre. Cela garantit que le chemin d’accès est entouré du rectangle englobant, même si le chemin est dessiné avec un stylet large. La valeur par défaut est NULL.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
Le rectangle retourné par cette méthode peut être plus grand que nécessaire pour entourer le chemin d’accès tel qu’il est dessiné par le stylet spécifié. Le rectangle est calculé pour permettre la limite de mites du stylet aux angles pointus et pour permettre les extrémités du stylet.
Exemples
L’exemple suivant crée un chemin qui a une courbe et une ellipse. Le code dessine le chemin avec un stylet jaune épais et un stylet noir fin. La méthode GraphicsPath::GetBounds reçoit l’adresse du stylet jaune épais et calcule un rectangle englobant pour le chemin. Ensuite, le code dessine le rectangle englobant.
VOID GetBoundsExample(HDC hdc)
{
Graphics graphics(hdc);
Pen blackPen(Color(255, 0, 0, 0), 1);
Pen yellowPen(Color(255, 255, 255, 0), 10);
Pen redPen(Color(255, 255, 0, 0), 1);
Point pts[] = {Point(120,120),
Point(200,130),
Point(150,200),
Point(130,180)};
// Create a path that has one curve and one ellipse.
GraphicsPath path;
path.AddClosedCurve(pts, 4);
path.AddEllipse(120, 220, 100, 40);
// Draw the path with a thick yellow pen and a thin black pen.
graphics.DrawPath(&yellowPen, &path);
graphics.DrawPath(&blackPen, &path);
// Get the path's bounding rectangle.
Rect rect;
path.GetBounds(&rect, NULL, &yellowPen);
graphics.DrawRectangle(&redPen, rect);
}
Color(255, 0, 0, 0)Color(255, 255, 0, 0)
Configuration requise
Client minimal pris en charge | Windows XP, Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdipluspath.h (include Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |
Voir aussi
Génération et dessin de tracés