Struktur der klassenbasierten Schnittstelle
Die C++-Schnittstelle zu Windows GDI+ enthält etwa 40 Klassen, 50 Enumerationen und 6 Strukturen. Es gibt auch einige Funktionen, die keine Member einer Klasse sind.
Sie müssen angeben, dass der Namespace Gdiplus verwendet wird, bevor GDI+-Funktionen aufgerufen werden. Die folgende Anweisung gibt an, dass der Gdiplus-Namespace in der Anwendung verwendet wird.
using namespace Gdiplus;
Die Graphics-Klasse ist der Kern der GDI+-Schnittstelle. Dies ist die Klasse, die tatsächlich Linien, Kurven, Abbildungen, Bilder und Text zeichnet.
Viele Klassen arbeiten mit der Graphics-Klasse zusammen. Die Graphics::D rawLine-Methode empfängt beispielsweise einen Zeiger auf ein Pen-Objekt , das Attribute (Farbe, Breite, Bindestrichformat usw.) der zu zeichnenden Linie enthält. Die Graphics::FillRectangle-Methode kann einen Zeiger auf ein LinearGradientBrush-Objekt empfangen, das mit dem Graphics-Objekt arbeitet, um ein Rechteck mit einer sich allmählich ändernden Farbe zu füllen. Font - und StringFormat-Objekte beeinflussen die Art und Weise, wie ein Graphics-Objekt Text zeichnet. Ein Matrix-Objekt speichert und bearbeitet die Welttransformation eines Graphics-Objekts , das zum Drehen, Skalieren und Spiegeln von Bildern verwendet wird.
Bestimmte Klassen dienen in erster Linie als strukturierte Datentypen. Einige dieser Klassen (z. B. Rect, Point und Size) dienen allgemeinen Zwecken. Andere dienen speziellen Zwecken und gelten als Hilfsklassen. Die BitmapData-Klasse ist beispielsweise ein Hilfsprogramm für die Bitmap-Klasse und die PathData-Klasse ein Hilfsprogramm für die GraphicsPath-Klasse . GDI+ definiert auch einige Strukturen, die zum Organisieren von Daten verwendet werden. Beispielsweise enthält die ColorMap-Struktur ein Paar von Color-Objekten , die einen Eintrag in einer Farbkonvertierungstabelle bilden.
GDI+ definiert mehrere Enumerationen, die Sammlungen verwandter Konstanten sind. Beispielsweise enthält die LineJoin-Enumeration die Elemente LineJoinBevel, LineJoinMiter und LineJoinRound, die Stile angeben, die zum Verknüpfen von zwei Zeilen verwendet werden können.
GDI+ bietet einige Funktionen, die nicht Teil einer Klasse sind. Zwei dieser Funktionen sind GdiplusStartup und GdiplusShutdown. Sie müssen GdiplusStartup aufrufen, bevor Sie andere GDI+-Anrufe tätigen, und Sie müssen GdiplusShutdown aufrufen, wenn Sie die Verwendung von GDI+ abgeschlossen haben.