Graphics::TransformPoints(CoordinateSpace,CoordinateSpace,Point*,INT)-Methode (gdiplusgraphics.h)

Die Graphics::TransformPoints-Methode konvertiert ein Array von Punkten aus einem Koordinatenraum in einen anderen. Die Konvertierung basiert auf der aktuellen Welt- und Seitentransformation dieses Graphics-Objekts .

Syntax

Status TransformPoints(
  [in]      CoordinateSpace destSpace,
  [in]      CoordinateSpace srcSpace,
  [in, out] Point           *pts,
  [in]      INT             count
);

Parameter

[in] destSpace

Typ: CoordinateSpace

Element der CoordinateSpace-Enumeration , das den Zielkoordinatenbereich angibt.

[in] srcSpace

Typ: CoordinateSpace

Element der CoordinateSpace-Enumeration , das den Quellkoordinatenbereich angibt.

[in, out] pts

Typ: Punkt*

Zeiger auf ein Array, das bei der Eingabe die zu konvertierenden Punkte und bei der Ausgabe die konvertierten Punkte enthält.

[in] count

Typ: INT

Eine ganze Zahl, die die Anzahl der Elemente im pts-Array angibt.

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

Die Welttransformation konvertiert Punkte aus dem Weltkoordinatenraum in den Seitenkoordinatenraum. Die Seitentransformation konvertiert Punkte aus dem Seitenkoordinatenbereich in den Gerätekoordinatenbereich. Weitere Informationen zu Koordinatenräumen finden Sie unter Typen von Koordinatensystemen.

Beispiele

Im folgenden Beispiel wird ein Graphics-Objekt erstellt und dessen Welttransformation auf eine Übersetzung um 40 Einheiten rechts und 30 Einheiten nach unten festgelegt. Anschließend erstellt der Code ein Array von Punkten und übergibt die Adresse dieses Arrays an die Graphics::TransformPoints-Methode desselben Graphics-Objekts . Die Punkte im Array werden durch die Welttransformation des Graphics-Objekts transformiert. Der Code ruft die Graphics::D rawLine-Methode zweimal auf: einmal, um die beiden Punkte vor der Transformation zu verbinden, und einmal, um die beiden Punkte nach der Transformation zu verbinden.

VOID Example_TransformPoints(HDC hdc)
{
   Graphics graphics(hdc);
   Pen pen(Color(255, 0, 0, 255));

   // Create an array of two Point objects.
   Point points[2] = {Point(0, 0), Point(100, 50)};

   // Draw a line that connects the two points.
   // No transformation has been performed yet.
   graphics.DrawLine(&pen, points[0], points[1]);

   // Set the world transformation of the Graphics object.
   graphics.TranslateTransform(40.0f, 30.0f);

   // Transform the points in the array from world to page coordinates.
   graphics.TransformPoints(
      CoordinateSpacePage, 
      CoordinateSpaceWorld, 
      points, 
      2);

   // It is the world transformation that takes points from world
   // space to page space. Because the world transformation is a
   // translation 40 to the right and 30 down, the
   // points in the array are now (40, 30) and (140, 80).

   // Draw a line that connects the transformed points.
   graphics.ResetTransform();
   graphics.DrawLine(&pen, points[0], points[1]);
}

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 gdiplusgraphics.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Grafiken

Graphics::GetTransform

Graphics::MultiplyTransform

Graphics::ResetTransform

Graphics::RotateTransform

Graphics::ScaleTransform

Graphics::SetTransform

Graphics::TranslateTransform

Matrix

Matrixorder

Transformationen

Typen von Koordinatensystemen