Condividi tramite


Metodo GraphicsPath::GetBounds(RectF*,constMatrix*,constPen*) (gdipluspath.h)

Il metodo GraphicsPath::GetBounds ottiene un rettangolo di delimitazione per questo percorso.

Sintassi

Status GetBounds(
  RectF        *bounds,
  const Matrix *matrix,
  const Pen    *pen
);

Parametri

bounds

Puntatore a un RectF oggetto che riceve il rettangolo di delimitazione.

matrix

Opzionale. Puntatore a un oggetto matrice matrice che specifica una trasformazione da applicare a questo percorso prima che venga calcolato il rettangolo di delimitazione. Questo percorso non viene trasformato in modo permanente; la trasformazione viene utilizzata solo durante il processo di calcolo del rettangolo di delimitazione. Il valore predefinito è NULL.

pen

Opzionale. Puntatore a un oggetto penna che influenza le dimensioni del rettangolo di delimitazione. Il rettangolo di delimitazione ricevuto nei limiti sarà sufficientemente grande da racchiudere questo percorso quando il percorso viene disegnato con la penna specificata da questo parametro. Ciò garantisce che il percorso sia racchiuso dal rettangolo di delimitazione anche se il percorso viene disegnato con una penna larga. Il valore predefinito è NULL.

Valore restituito

Tipo di :stato

Se il metodo ha esito positivo, restituisce Ok, che è un elemento dell'enumerazione Status.

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status.

Osservazioni

Il rettangolo restituito da questo metodo potrebbe essere maggiore del necessario per racchiudere il percorso come disegnato dalla penna specificata. Il rettangolo viene calcolato per consentire il limite di miter della penna agli angoli taglienti e consentire le estremità della penna.

Esempi

Nell'esempio seguente viene creato un percorso con una curva e un'ellisse. Il codice disegna il percorso con una penna gialla spessa e una penna nera sottile. Il metodo GraphicsPath::GetBounds riceve l'indirizzo della penna gialla spessa e calcola un rettangolo di delimitazione per il percorso. Il codice disegna quindi il rettangolo di delimitazione.


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.
   RectF rect;
   path.GetBounds(&rect, NULL, &yellowPen);
   graphics.DrawRectangle(&redPen, rect);  
}

Color(255, 0, 0, 0)Color(255, 255, 0,  0)

Fabbisogno

Requisito Valore
intestazione gdipluspath.h

Vedere anche

ritaglio con un'area

creazione e creazione di percorsi di disegno

Creazione di una sfumatura di percorso

GraphicsPath

matrice

percorsi

penna

rectF di