Graphics::TransformPoints(CoordinateSpace,CoordinateSpace,PointF*,INT)-Methode (gdiplusgraphics.h)
Die Graphics::TransformPoints-Methode konvertiert ein Array von Punkten von einem Koordinatenraum in einen anderen. Die Konvertierung basiert auf den aktuellen Welt- und Seitentransformationen dieses Graphics-Objekts .
Syntax
Status TransformPoints(
[in] CoordinateSpace destSpace,
[in] CoordinateSpace srcSpace,
[in, out] PointF *pts,
[in] INT count
);
Parameter
[in] destSpace
Typ: CoordinateSpace
Element der CoordinateSpace-Enumeration , die den Zielkoordinatenraum angibt.
[in] srcSpace
Typ: CoordinateSpace
Element der CoordinateSpace-Enumeration , die den Quellkoordinatenraum 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
Ganzzahl, 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, gibt sie eines der anderen Elemente der Status-Enumeration zurück.
Hinweise
Die Welttransformation wandelt Punkte aus dem Weltkoordinatenraum in den Seitenkoordinatenraum um. Die Seitentransformation konvertiert Punkte aus dem Seitenkoordinatenraum in den Gerätekoordinatenraum. 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 von 40 Einheiten rechts und 30 Einheiten 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
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 |