Freigeben über


PathGradientBrush::GetTransform-Methode (gdipluspath.h)

Die PathGradientBrush::GetTransform-Methode ruft die Transformationsmatrix dieses Pfadverlaufspinsels ab.

Syntax

Status GetTransform(
  [out] Matrix *matrix
);

Parameter

[out] matrix

Typ: Matrix*

Zeiger auf ein Matrix-Objekt , das die Transformationsmatrix empfängt.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.

Hinweise

Ein PathGradientBrush-Objekt verwaltet eine Transformationsmatrix, die jede affine Transformation speichern kann. Wenn Sie einen Pfadverlaufpinsel zum Ausfüllen eines Bereichs verwenden, transformiert GDI+ den Begrenzungspfad des Pinsels gemäß der Transformationsmatrix des Pinsels und füllt dann das Innere des transformierten Pfads aus. Der transformierte Pfad ist nur während des Renderings vorhanden. Der im PathGradientBrush-Objekt gespeicherte Begrenzungspfad wird nicht transformiert.

Beispiele

Im folgenden Beispiel wird ein PathGradientBrush-Objekt basierend auf einem Array von drei Punkten erstellt. Die Methoden PathGradientBrush::ScaleTransform und PathGradientBrush::TranslateTransform legen die Elemente der Transformationsmatrix des Pinsels so fest, dass die Matrix eine zusammengesetzte Transformation darstellt (zuerst skalieren, dann übersetzen). Diese zusammengesetzte Transformation gilt für den Begrenzungspfad des Pinsels, sodass der Aufruf von FillRectangle das Innere eines Dreiecks ausfüllt, das das Ergebnis der Skalierung und Übersetzung des Begrenzungspfads ist. Der Code ruft die PathGradientBrush::GetTransform-Methode des PathGradientBrush-Objekts auf, um die Transformationsmatrix des Pinsels abzurufen, und ruft dann die GetElements-Methode des abgerufenen Matrix-Objekts auf, um ein Array mit den Matrixelementen zu füllen.

VOID Example_GetTransform(HDC hdc)
{
  Graphics graphics(hdc);

   // Create a path gradient brush and set its transformation.
   Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};
   PathGradientBrush pthGrBrush(pts, 3);
   pthGrBrush.ScaleTransform(3.0f, 1.0f);
   pthGrBrush.TranslateTransform(10.0f, 30.0f, MatrixOrderAppend);

   graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);

   // Obtain information about the path gradient brush.
   Matrix matrix;
   REAL elements[6];

   pthGrBrush.GetTransform(&matrix);
   matrix.GetElements(elements);

   for(INT j = 0; j <= 5; ++j)
   {
      // Inspect or use the value in elements[j].
   } 
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdipluspath.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Pinsel und gefüllte Formen

Erstellen eines Pfadverlaufs

Füllen einer Form mit einem Farbverlauf

Matrix

Matrixdarstellung von Transformationen

Pathgradientbrush

PathGradientBrush::SetTransform

Transformationen