System.Drawing.Drawing2D Spazio dei nomi

Fornisce funzionalità grafica vettoriale e bidimensionale avanzata.

Classi

AdjustableArrowCap

Rappresenta un delimitatore di linea regolabile a freccia. La classe non può essere ereditata.

Blend

Definisce un motivo della miscela di colori per un oggetto LinearGradientBrush. La classe non può essere ereditata.

ColorBlend

Definisce le matrici di colori e posizioni utilizzate per inserire miscele di colore in una sfumatura a più colori. La classe non può essere ereditata.

CustomLineCap

Incapsula un delimitatore di linea personalizzato definito dall'utente.

GraphicsContainer

Rappresenta i dati interni di un contenitore grafico. Questa classe viene utilizzata quando si salva lo stato di un oggetto Graphics utilizzando i metodi BeginContainer() e EndContainer(GraphicsContainer). La classe non può essere ereditata.

GraphicsPath

Rappresenta una serie di curve e di linee collegate. La classe non può essere ereditata.

GraphicsPathIterator

Consente di scorrere i sottopercorsi in una classe GraphicsPath ed eseguire il test dei tipi di forme contenuti in ogni sottopercorso. La classe non può essere ereditata.

GraphicsState

Rappresenta lo stato di un oggetto Graphics che viene restituito da una chiamata ai metodi Save(). La classe non può essere ereditata.

HatchBrush

Definisce un pennello rettangolare con uno stile tratteggiato, un colore di primo piano e uno di sfondo. La classe non può essere ereditata.

LinearGradientBrush

Incapsula una classe Brush con una sfumatura lineare. La classe non può essere ereditata.

Matrix

Incapsula una matrice affine 3x3 che rappresenta una trasformazione geometrica. La classe non può essere ereditata.

PathData

Contiene i dati grafici che compongono un oggetto GraphicsPath. La classe non può essere ereditata.

PathGradientBrush

Incapsula un oggetto Brush che riempie la parte interna di un oggetto GraphicsPath con una sfumatura. La classe non può essere ereditata.

RegionData

Incapsula i dati che compongono un oggetto Region. La classe non può essere ereditata.

Enumerazioni

CombineMode

Specifica il modo in cui è possibile combinare diverse aree di visualizzazione.

CompositingMode

Specifica il modo in cui i colori di origine vengono combinati con i colori dello sfondo.

CompositingQuality

Specifica il livello di qualità da utilizzare durante la composizione.

CoordinateSpace

Specifica il sistema da utilizzare durante la valutazione delle coordinate.

DashCap

Specifica il tipo di forma grafica da utilizzare su entrambe le estremità di ciascun trattino di una linea tratteggiata.

DashStyle

Specifica lo stile delle linee tratteggiate disegnate con un oggetto Pen.

FillMode

Specifica il modo in cui la parte interna di un percorso chiuso viene riempita.

FlushIntention

Specifica se i comandi dello stack grafico verranno interrotti immediatamente (cancellati) o eseguiti appena possibile.

HatchStyle

Specifica i diversi motivi disponibili per gli oggetti HatchBrush.

InterpolationMode

L'enumerazione InterpolationMode specifica l'algoritmo utilizzato quando le immagini vengono scalate o ruotate.

LinearGradientMode

Specifica la direzione di una sfumatura lineare.

LineCap

Specifica gli stili dei delimitatori disponibili con i quali un oggetto Pen può indicare la fine di una linea.

LineJoin

Specifica il modo in cui unire segmenti rettilinei o curvilinei consecutivi in una figura (sottopercorso) contenuta in un oggetto GraphicsPath.

MatrixOrder

Specifica l'ordine delle operazioni di trasformazione della matrice.

PathPointType

Specifica il tipo di punto in un oggetto GraphicsPath.

PenAlignment

Specifica l'allineamento di un oggetto Pen in relazione a una linea teorica di larghezza zero.

PenType

Specifica il tipo di riempimento utilizzato da un oggetto Pen per riempire le linee.

PixelOffsetMode

Specifica la modalità di offset dei pixel durante l'esecuzione del rendering.

QualityMode

Specifica la qualità globale durante l'esecuzione del rendering di oggetti GDI+.

SmoothingMode

Specifica se l'arrotondamento (anti-aliasing) viene applicato alle linee e alle curve e ai bordi delle aree riempite.

WarpMode

Specifica il tipo di trasformazione con distorsione applicato in un metodo Warp.

WrapMode

Specifica il modo in cui una trama o una sfumatura viene affiancata quando è meno estesa dell'area riempita.

Commenti

Attenzione

Lo System.Drawing spazio dei nomi presenta alcune limitazioni per determinati sistemi operativi e tipi di applicazioni.

  • In Windows dipende System.Drawing dalla libreria nativa GDI+ che viene distribuita come parte del sistema operativo. Alcuni SKU di Windows, ad esempio Windows Server Core o Windows Nano, non includono questa libreria nativa come parte del sistema operativo. Se si usa questo spazio dei nomi e la libreria non può essere caricata, le eccezioni verranno generate in fase di esecuzione.

  • Alcuni tipi nello System.Drawing spazio dei nomi si basano su GDI+, che non è supportato nei servizi Windows e nelle app ASP.NET Core e ASP.NET. Questi tipi si trovano nel pacchetto NuGet System.Drawing.Common e includono System.Drawing.Bitmap e System.Drawing.Font. Tuttavia, i tipi primitivi nello spazio dei nomi, ad esempio System.Drawing.Color, System.Drawing.Size, System.Drawing.Pointe , System.Drawing.Rectanglepossono essere usati in qualsiasi applicazione.

  • In .NET 5 e versioni precedenti il pacchetto NuGet System.Drawing.Common funziona in Windows, Linux e macOS. Esistono tuttavia alcune differenze di piattaforma. In Linux e macOS la funzionalità GDI+ viene implementata dalla libreria libgdiplus ). Questa libreria non è installata per impostazione predefinita nella maggior parte delle distribuzioni Linux e non supporta tutte le funzionalità di GDI+ in Windows e macOS. Esistono anche piattaforme in cui libgdiplus non è disponibile. Per usare i tipi dal pacchetto System.Drawing.Common in Linux e macOS, è necessario installare libgdiplus separatamente. Per altre informazioni, vedere Installare .NET in Linux o Installare .NET in macOS.

  • In .NET 6 e versioni successive il pacchetto NuGet System.Drawing.Common è supportato solo nei sistemi operativi Windows. Per altre informazioni, vedere System.Drawing.Common supportato solo in Windows.

Se non è possibile usare System.Drawing con l'applicazione, le alternative consigliate includono ImageSharp, SkiaSharp, Windows Imaging Components e Microsoft.Maui.Graphics.

Nella tabella seguente sono elencate alcune delle classi e delle enumerazioni importanti nello System.Drawing.Drawing2D spazio dei nomi, raggruppate in categorie.

Categoria di classi Dettagli
- Percorsi grafici e grafici Le GraphicsState classi e GraphicsContainer segnalano informazioni sull'oggetto corrente Graphics . GraphicsPath le classi rappresentano una serie di linee e curve. Le GraphicsPathIterator classi e PathData forniscono informazioni dettagliate sul contenuto di un GraphicsPath oggetto.
- Tipi correlati a matrice e trasformazione La Matrix classe rappresenta una matrice per le trasformazioni geometriche. L'enumerazione MatrixOrder specifica l'ordine per le trasformazioni matrice.
- Classi pennello Le PathGradientBrush classi e HatchBrush consentono di riempire le forme con una sfumatura o un modello di tratteggio rispettivamente.
- Enumerazione correlata alle righe Le LineCap enumerazioni CustomLineCap consentono di specificare gli stili di limite per una riga. LineJoin L'enumerazione consente di specificare la modalità di aggiunta di due righe in un percorso. L'enumerazione PenAlignment consente di specificare l'allineamento della punta di disegno, quando si disegna una riga. L'enumerazione PenType specifica il modello con cui deve essere riempita una riga.
- Enumerazioni correlate al riempimento di forme e percorsi L'enumerazione HatchStyle specifica gli stili di riempimento per un HatchBrushoggetto . La Blend classe specifica un modello di blend per un LinearGradientBrushoggetto . L'enumerazione FillMode specifica lo stile di riempimento per un GraphicsPathoggetto .

Attenzione

Le classi nello spazio dei nomi non sono supportate per l'uso System.Drawing.Drawing2D in un servizio Windows o ASP.NET. Il tentativo di usare queste classi in uno di questi tipi di applicazioni può generare problemi imprevisti, ad esempio le prestazioni del servizio ridotte e le eccezioni in fase di esecuzione.

Vedi anche