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 |