Freigeben über


PathGradientBrush::TranslateTransform-Methode (gdipluspath.h)

Die PathGradientBrush::TranslateTransform-Methode aktualisiert die aktuelle Transformationsmatrix dieses Pinsels mit dem Produkt selbst und einer Übersetzungsmatrix.

Syntax

Status TranslateTransform(
  [in] REAL        dx,
  [in] REAL        dy,
  [in] MatrixOrder order
);

Parameter

[in] dx

Typ: REAL

Reelle Zahl, die die horizontale Komponente der Übersetzung angibt.

[in] dy

Typ: REAL

Reelle Zahl, die die vertikale Komponente der Übersetzung angibt.

[in] order

Typ: MatrixOrder

Optional. Element der MatrixOrder-Enumeration , das die Reihenfolge der Multiplikation angibt. MatrixOrderPrepend gibt an, dass sich die Übersetzungsmatrix auf der linken Seite befindet, und MatrixOrderAppend gibt an, dass sich die Übersetzungsmatrix auf der rechten Seite befindet. Der Standardwert ist MatrixOrderPrepend.

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

Eine einzelne 3 ×3-Matrix kann jede Sequenz von affinen Transformationen speichern. Wenn Sie über mehrere 3 ×3 Matrizen verfügen, von denen jede eine affine Transformation darstellt, ist das Produkt dieser Matrizen eine einzelne 3 ×3 Matrix, die die gesamte Sequenz von Transformationen darstellt. Die transformation, die durch dieses Produkt dargestellt wird, wird als zusammengesetzte Transformation bezeichnet. Angenommen, Matrix S stellt eine Skalierung und Matrix T eine Übersetzung dar. Wenn Matrix M der Produkt-ST ist, stellt Matrix M eine zusammengesetzte Transformation dar: erste Skalierung, dann übersetzen.

Beispiele

Im folgenden Beispiel wird ein PathGradientBrush-Objekt basierend auf einem dreieckigen Pfad erstellt. Die Aufrufe der Methoden PathGradientBrush::ScaleTransform und PathGradientBrush::TranslateTransform des PathGradientBrush-Objekts legen die Elemente der Transformationsmatrix des Pinsels so fest, dass sie eine zusammengesetzte Transformation darstellt: zuerst skalieren, dann übersetzen. Der Code verwendet den Pfadverlaufpinsel zweimal, um ein Rechteck zu zeichnen: einmal vor dem Festlegen der Transformation und einmal nach dem Festlegen der Transformation.

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

   Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};
   PathGradientBrush pthGrBrush(pts, 3);

   // Fill an area with the path gradient brush (no transformation).
   graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);

   pthGrBrush.ScaleTransform(3.0f, 1.0f);
   pthGrBrush.TranslateTransform(100.0f, 50.0f, MatrixOrderAppend);

   // Fill the same area with the transformed path gradient brush.
   graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);  
}

Anforderungen

Anforderung Wert
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

Matrixorder

Pathgradientbrush

PathGradientBrush::GetTransform

PathGradientBrush::MultiplyTransform

PathGradientBrush::ResetTransform

PathGradientBrush::RotateTransform

PathGradientBrush::ScaleTransform

PathGradientBrush::SetTransform

Transformationen