System.Drawing.Imaging Spazio dei nomi

Fornisce funzionalità avanzate GDI+ per le immagini. La funzionalità grafica di base viene fornita dallo spazio dei nomi System.Drawing.

Classi

BitmapData

Specifica gli attributi di un'immagine bitmap. La classe BitmapData viene utilizzata dai metodi LockBits e UnlockBits(BitmapData) della classe Bitmap. Non ereditabile.

CachedBitmap

Rappresenta una copia dipendente dal dispositivo di una corrispondenza delle impostazioni correnti di un Bitmap oggetto specificato Graphics (display). Evita il passaggio di riformattamento durante il rendering, che può migliorare significativamente le prestazioni.

ColorMap

Definisce una mappa per la conversione dei colori. La classe ImageAttributes include diversi metodi che consentono di regolare il colore delle immagini mediante una tabella di rimappatura dei colori, che rappresenta una matrice di strutture ColorMap. Non ereditabile.

ColorMatrix

Definisce una matrice 5x5 contenente le coordinate per lo spazio RGBAW. Nella classe ImageAttributes sono inclusi diversi metodi che consentono di regolare i colori delle immagini mediante una matrice di colori. La classe non può essere ereditata.

ColorPalette

Definisce una matrice di colori appartenenti a una tavolozza dei colori. Tali colori sono ARGB a 32 bit. Non ereditabile.

Encoder

Un oggetto Encoder incapsula un identificatore univoco globale (GUID, Globally Unique Identifier) che identifica la categoria di un parametro del codificatore di immagini.

EncoderParameter

Utilizzato per passare un valore o una matrice di valori a un codificatore di immagini,

EncoderParameters

Incapsula una matrice di oggetti EncoderParameter.

FrameDimension

Fornisce le proprietà che ottengono le dimensioni di frame di un'immagine. Non ereditabile.

ImageAttributes

Contiene informazioni relative alla modalità di manipolazione dei colori di bitmap e metafile durante il rendering.

ImageCodecInfo

La classe ImageCodecInfo fornisce i membri e i metodi di memorizzazione necessari per recuperare tutte le informazioni rilevanti sui codificatori e decodificatori di immagine (i cosiddetti codec) installati. Non ereditabile.

ImageFormat

Specifica il formato di file dell'immagine. Non ereditabile.

Metafile

Definisce un metafile grafico. In un metafile sono contenuti record che descrivono una sequenza di operazioni grafiche che possono essere registrate (create) e riprodotte (visualizzate). La classe non è ereditabile.

MetafileHeader

Contiene gli attributi di un oggetto Metafile associato. Non ereditabile.

MetaHeader

Contiene informazioni relative a un metafile di Windows (WMF).

PropertyItem

Incapsula una proprietà per i metadati da includere in un file di immagine. Non ereditabile.

WmfPlaceableFileHeader

Definisce un metafile collocabile. Non ereditabile.

Enumerazioni

ColorAdjustType

Specifica gli oggetti GDI+ che utilizzano le informazioni sulla regolazione del colore.

ColorChannelFlag

Specifica i singoli canali nello spazio dei colori CMYK (Cyan, Magenta, Yellow, Black). Questa enumerazione è utilizzata dai metodi SetOutputChannel.

ColorMapType

Specifica i tipi di mappe dei colori.

ColorMatrixFlag

Specifica i tipi di immagini e colori su cui influiranno le impostazioni relative alla regolazione dei colori e delle gradazioni di grigio di un oggetto ImageAttributes.

ColorMode

Specifica due modalità per i valori del componente del colore.

DitherType

Fornisce funzionalità avanzate GDI+ per le immagini. La funzionalità grafica di base viene fornita dallo spazio dei nomi System.Drawing.

EmfPlusRecordType

Specifica i metodi che possono essere utilizzati con un metafile per leggere e scrivere comandi grafici.

EmfType

Specifica il tipo di record contenuti in un file EMF (Enhanced Metafile). Questa enumerazione viene utilizzata da diversi costruttori della classe Metafile.

EncoderParameterValueType

Specifica il tipo di dati di EncoderParameter usato con il metodo Save o SaveAdd di un'immagine.

EncoderValue

Consente di specificare il valore del parametro passato a un codificatore di immagini JPEg o TIFF quando si utilizzano i metodi Save(String, ImageCodecInfo, EncoderParameters) o SaveAdd(EncoderParameters).

ImageCodecFlags

Fornisce attributi di un codificatore/decodificatore (codec) di immagini.

ImageFlags

Specifica gli attributi dei dati pixel contenuti in un oggetto Image. La proprietà Flags restituisce un membro di questa enumerazione.

ImageLockMode

Specifica i flag passati al parametro dei flag del metodo LockBits. Il metodo LockBits blocca una porzione di un'immagine in modo da consentire la lettura o la scrittura dei dati pixel.

MetafileFrameUnit

Specifica l'unità di misura del rettangolo utilizzato per assegnare le dimensioni e la posizione a un metafile. La definizione di questo parametro viene effettuata durante la creazione dell'oggetto Metafile.

MetafileType

Specifica i tipi di metafile. La proprietà Type restituisce un membro di questa enumerazione.

PaletteFlags

Specifica il tipo di dati relativi al colore nella tavolozza del sistema, I dati possono essere dati dei colori contenenti solo gradazioni di grigio e alfa oppure mezzitoni.

PaletteType

Fornisce funzionalità avanzate GDI+ per le immagini. La funzionalità grafica di base viene fornita dallo spazio dei nomi System.Drawing.

PixelFormat

Specifica il formato dei dati relativi al colore per ciascun pixel dell'immagine.

Delegati

PlayRecordCallback

Questo delegato non viene utilizzato. Per un esempio di enumerazione dei record di un metafile, vedere EnumerateMetafile(Metafile, Point, Graphics+EnumerateMetafileProc).

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.

La Metafile classe fornisce metodi per la registrazione e il salvataggio dei metafile. La Encoder classe consente agli utenti di estendere GDI+ per supportare qualsiasi formato di immagine. La PropertyItem classe fornisce metodi per archiviare e recuperare i metadati nei file di immagine.

Attenzione

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

Vedi anche