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

Découpage avec une région

Génération et dessin de tracés

Création d’un dégradé de chemin

Graphicspath

Matrice

Chemins d’accès

Stylet

Rect