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
Füllen einer Form mit einem Farbverlauf
Matrixdarstellung von Transformationen