System.Drawing.Drawing2D Namespace

Bietet erweiterte zweidimensionale und Vektorgrafikfunktionen.

Klassen

Name Beschreibung
AdjustableArrowCap

Stellt eine anpassbare pfeilförmige Linienkappe dar. Diese Klasse kann nicht vererbt werden.

Blend

Definiert ein Blendmuster für ein LinearGradientBrush Objekt. Diese Klasse kann nicht vererbt werden.

ColorBlend

Definiert Arrays von Farben und Positionen, die zum Interpolieren der Farbmischung in einem Farbverlauf mit mehreren Farben verwendet werden. Diese Klasse kann nicht vererbt werden.

CustomLineCap

Kapselt eine benutzerdefinierte benutzerdefinierte Linienkappe.

GraphicsContainer

Stellt die internen Daten eines Grafikcontainers dar. Diese Klasse wird beim Speichern des Zustands eines Graphics Objekts mithilfe der und BeginContainer() der EndContainer(GraphicsContainer) Methoden verwendet. Diese Klasse kann nicht vererbt werden.

GraphicsPath

Stellt eine Reihe verbundener Linien und Kurven dar. Diese Klasse kann nicht vererbt werden.

GraphicsPathIterator

Bietet die Möglichkeit, Unterpfade in einem GraphicsPath Pfad zu durchlaufen und die Typen von Shapes zu testen, die in jedem Unterpfad enthalten sind. Diese Klasse kann nicht vererbt werden.

GraphicsState

Stellt den Status eines Graphics Objekts dar. Dieses Objekt wird von einem Aufruf der Save() Methoden zurückgegeben. Diese Klasse kann nicht vererbt werden.

HatchBrush

Definiert einen rechteckigen Pinsel mit einer Schlupfformatvorlage, einer Vordergrundfarbe und einer Hintergrundfarbe. Diese Klasse kann nicht vererbt werden.

LinearGradientBrush

Kapselt einen Brush mit einem linearen Farbverlauf. Diese Klasse kann nicht vererbt werden.

Matrix

Kapselt eine 3:3-affine Matrix, die eine geometrische Transformation darstellt. Diese Klasse kann nicht vererbt werden.

PathData

Enthält die grafischen Daten, aus denen ein GraphicsPath Objekt besteht. Diese Klasse kann nicht vererbt werden.

PathGradientBrush

Kapselt ein Brush Objekt, das das Innere eines GraphicsPath Objekts mit einem Farbverlauf ausfüllt. Diese Klasse kann nicht vererbt werden.

RegionData

Kapselt die Daten, aus denen ein Region Objekt besteht. Diese Klasse kann nicht vererbt werden.

Enumerationen

Name Beschreibung
CombineMode

Gibt an, wie unterschiedliche Beschneidungsbereiche kombiniert werden können.

CompositingMode

Gibt an, wie die Quellfarben mit den Hintergrundfarben kombiniert werden.

CompositingQuality

Gibt das Qualitätsniveau an, das bei der Kompositierung verwendet werden soll.

CoordinateSpace

Gibt das System an, das beim Auswerten von Koordinaten verwendet werden soll.

DashCap

Gibt den Typ der Grafikform an, die auf beiden Enden jedes Gedankenstrichs in einer gestrichelten Linie verwendet werden soll.

DashStyle

Gibt die Formatvorlage gestrichelter Linien an, die mit einem Pen -Objekt gezeichnet wurden.

FillMode

Gibt an, wie der Innere eines geschlossenen Pfads gefüllt wird.

FlushIntention

Gibt an, ob Befehle im Grafikstapel sofort beendet oder so schnell wie möglich ausgeführt werden.

HatchStyle

Gibt die verschiedenen Muster an, die für HatchBrush Objekte verfügbar sind.

InterpolationMode

Die InterpolationMode Enumeration gibt den Algorithmus an, der verwendet wird, wenn Bilder skaliert oder gedreht werden.

LinearGradientMode

Gibt die Richtung eines linearen Farbverlaufs an.

LineCap

Gibt die verfügbaren Kapitälchenarten an, mit denen ein Pen -Objekt eine Linie beenden kann.

LineJoin

Gibt an, wie aufeinander folgende Linien- oder Kurvensegmente in einer Abbildung (Unterpfad) verknüpft werden, die in einem GraphicsPath-Objekt enthalten ist.

MatrixOrder

Gibt die Reihenfolge für Matrixtransformationsvorgänge an.

PathPointType

Gibt den Typ des Punkts in einem GraphicsPath -Objekt an.

PenAlignment

Gibt die Ausrichtung eines Pen Objekts im Verhältnis zur theoretischen Nullbreitenlinie an.

PenType

Gibt den Typ der Füllung eines Pen Objekts zum Ausfüllen von Linien an.

PixelOffsetMode

Gibt an, wie Pixel beim Rendern versetzt werden.

QualityMode

Gibt die Gesamtqualität beim Rendern von GDI+-Objekten an.

SmoothingMode

Gibt an, ob Glättung (Antialiasing) auf Linien und Kurven und die Kanten gefüllter Bereiche angewendet wird.

WarpMode

Gibt den Typ der Verzerrungstransformation an, die in einer Warp-Methode angewendet wird.

WrapMode

Gibt an, wie eine Textur oder ein Farbverlauf nebeneinander angeordnet wird, wenn sie kleiner als der zu füllende Bereich ist.

Hinweise

Vorsicht

Der System.Drawing Namespace hat einige Einschränkungen für bestimmte Betriebssysteme und Anwendungstypen.

  • Bei Windows hängt System.Drawing von der nativen GDI+-Bibliothek ab, die als Teil des Betriebssystems ausgeliefert wird. Einige Windows SKUs, z. B. Windows Server Core oder Windows Nano, enthalten diese native Bibliothek nicht als Teil des Betriebssystems. Wenn Sie diesen Namespace verwenden und die Bibliothek nicht geladen werden kann, werden Ausnahmen zur Laufzeit ausgelöst.

  • Einige Typen im System.Drawing-Namespace basieren auf GDI+, die in Windows Diensten und ASP.NET Core und ASP.NET Apps nicht unterstützt wird. Diese Typen sind im Paket "System.Drawing.Common NuGet" enthalten und enthalten und enthalten System.Drawing.Bitmap .System.Drawing.Font Grundtypen im Namespace, z System.Drawing.Color. B. , System.Drawing.Size, System.Drawing.Pointund System.Drawing.Rectangle, können jedoch in jeder beliebigen Anwendung verwendet werden.

  • In .NET 5 und früheren Versionen funktioniert das System.Drawing.Common NuGet-Paket unter Windows, Linux und macOS. Es gibt jedoch einige Plattformunterschiede. Unter Linux und macOS wird die GDI+-Funktionalität von der libgdiplus) -Bibliothek implementiert. Diese Bibliothek ist in den meisten Linux-Distributionen nicht standardmäßig installiert und unterstützt nicht alle Funktionen von GDI+ auf Windows und macOS. Es gibt auch Plattformen, auf denen libgdiplus überhaupt nicht verfügbar ist. Um Typen aus dem System.Drawing.Common-Paket unter Linux und macOS zu verwenden, müssen Sie libgdiplus separat installieren. Weitere Informationen finden Sie unter Install .NET unter Linux oder Install .NET unter macOS.

  • In .NET 6 und höheren Versionen wird das System.Drawing.Common NuGet-Paket nur unter Windows Betriebssystemen unterstützt. Weitere Informationen finden Sie unter System.Drawing.Common wird nur unter Windows unterstützt.

Wenn Sie System.Drawing nicht mit Ihrer Anwendung verwenden können, Empfohlene Alternativen sind ImageSharp, SkiaSharp, Windows Imaging Components und Microsoft. Maui.Graphics.

In der folgenden Tabelle sind einige der wichtigen Klassen und Enumerationen im System.Drawing.Drawing2D Namespace aufgeführt, gruppiert in Kategorien.

Klassenkategorie Details
- Grafik- und Grafikpfade Die GraphicsState Klassen GraphicsContainer melden Informationen zum aktuellen Graphics Objekt. GraphicsPath Klassen stellen eine Reihe von Linien und Kurven dar. Die Klassen und GraphicsPathIterator die PathData Klassen enthalten detaillierte Informationen zum Inhalt eines GraphicsPath Objekts.
- Matrix- und Transformationsbezogene Typen Die Matrix Klasse stellt eine Matrix für geometrische Transformationen dar. Die MatrixOrder Aufzählung gibt die Reihenfolge für Matrixtransformationen an.
- Pinselklassen Mit den PathGradientBrush Klassen können HatchBrush Sie Formen entweder mit einem Farbverlauf oder einem Schlupfmuster ausfüllen.
- Aufzählung im Zusammenhang mit Zeilen Mit LineCap den Enumerationen können CustomLineCap Sie Kapitälchen für eine Linie angeben. Mit der Enumeration können Sie angeben, LineJoin wie zwei Zeilen in einem Pfad verknüpft sind. Mit PenAlignment der Aufzählung können Sie die Ausrichtung der Zeichnungsspitze angeben, wenn Sie eine Linie zeichnen. Die PenType Aufzählung gibt das Muster an, mit dem eine Linie gefüllt werden soll.
- Aufzählungen im Zusammenhang mit dem Ausfüllen von Shapes und Pfaden Die HatchStyle Aufzählung gibt Füllformatvorlagen für ein HatchBrush. Die Blend Klasse gibt ein Blendmuster für ein LinearGradientBrush. Die FillMode Aufzählung gibt die Füllformatvorlage für ein GraphicsPath.

Vorsicht

Klassen im Namespace System.Drawing.Drawing2D werden für die Verwendung in einem Windows- oder ASP.NET-Dienst nicht unterstützt. Wenn Sie versuchen, diese Klassen in einem dieser Anwendungstypen zu verwenden, können unerwartete Probleme auftreten, z. B. verringerte Dienstleistung und Laufzeit-Ausnahmen.

Weitere Informationen