System.Drawing.Drawing2D Spazio dei nomi

Fornisce funzionalità grafiche bidimensionali e vettoriali avanzate.

Classi

Nome Descrizione
AdjustableArrowCap

Rappresenta un capolinea a forma di freccia regolabile. La classe non può essere ereditata.

Blend

Definisce un modello di fusione per un LinearGradientBrush oggetto . La classe non può essere ereditata.

ColorBlend

Definisce matrici di colori e posizioni utilizzate per interpolare la fusione dei colori in una sfumatura multicolore. La classe non può essere ereditata.

CustomLineCap

Incapsula un limite di riga personalizzato definito dall'utente.

GraphicsContainer

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

GraphicsPath

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

GraphicsPathIterator

Consente di scorrere i sottopercorso in un GraphicsPath oggetto e di testare i tipi di forme contenute in ogni sottopercorso. La classe non può essere ereditata.

GraphicsState

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

HatchBrush

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

LinearGradientBrush

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

Matrix

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

PathData

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

PathGradientBrush

Incapsula un Brush oggetto che riempie l'interno di un GraphicsPath oggetto con una sfumatura. La classe non può essere ereditata.

RegionData

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

Enumerazioni

Nome Descrizione
CombineMode

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

CompositingMode

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

CompositingQuality

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

CoordinateSpace

Specifica il sistema da utilizzare per la valutazione delle coordinate.

DashCap

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

DashStyle

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

FillMode

Specifica la modalità di riempimento dell'interno di un percorso chiuso.

FlushIntention

Specifica se i comandi nello stack di grafica vengono terminati (scaricati) immediatamente o eseguiti il prima possibile.

HatchStyle

Specifica i diversi modelli disponibili per gli oggetti HatchBrush.

InterpolationMode

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

LinearGradientMode

Specifica la direzione di una sfumatura lineare.

LineCap

Specifica gli stili di estremità disponibili con cui un oggetto Pen può terminare una riga.

LineJoin

Specifica come unire segmenti di linea o curva consecutivi in una figura (sottopercorso) contenuta in un oggetto GraphicsPath.

MatrixOrder

Specifica l'ordine per le operazioni di trasformazione matrice.

PathPointType

Specifica il tipo di punto in un oggetto GraphicsPath.

PenAlignment

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

PenType

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

PixelOffsetMode

Specifica la modalità di offset dei pixel durante il rendering.

QualityMode

Specifica la qualità complessiva durante il rendering di oggetti GDI+.

SmoothingMode

Specifica se l'smussamento (antialiasing) viene applicato alle linee e alle curve e ai bordi delle aree riempite.

WarpMode

Specifica il tipo di trasformazione di distorsione applicata in un metodo Warp.

WrapMode

Specifica il modo in cui viene affiancata una trama o una sfumatura quando è più piccola dell'area riempita.

Commenti

Caution

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

  • In Windows, System.Drawing dipende dalla libreria nativa GDI+ fornita come parte del sistema operativo. Alcuni SKU 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 non è possibile caricare la libreria, le eccezioni verranno generate in fase di esecuzione.

  • Alcuni tipi nello spazio dei nomi System.Drawing 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.SizeSystem.Drawing.Point, e System.Drawing.Rectangle, possono 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. Ci sono anche piattaforme in cui libgdiplus non è affatto disponibile. Per usare i tipi del 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 ed enumerazioni importanti nello spazio dei System.Drawing.Drawing2D 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 della matrice.
- Classi brush Le PathGradientBrush classi e HatchBrush consentono di riempire le forme rispettivamente con una sfumatura o un motivo tratteggio.
- Enumerazione correlata alle righe Le LineCap enumerazioni e CustomLineCap consentono di specificare gli stili limite per una linea. L'enumerazione , LineJoin consente di specificare il modo in cui due righe vengono unite in join in un percorso. L'enumerazione PenAlignment consente di specificare l'allineamento della punta di disegno, quando si disegna una linea. L'enumerazione PenType specifica il motivo con cui deve essere riempita una linea.
- Enumerazioni correlate al riempimento di forme e percorsi L'enumerazione HatchStyle specifica gli stili di riempimento per un oggetto HatchBrush. La Blend classe specifica un modello di fusione per un oggetto LinearGradientBrush. L'enumerazione FillMode specifica lo stile di riempimento per un oggetto GraphicsPath.

Caution

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

Vedi anche