Classe ImageAttributes (System.Drawing.Imaging)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe ImageAttributes
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

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

Gerarchia di ereditarietà

System.Object
  System.Drawing.Imaging.ImageAttributes

Spazio dei nomi:  System.Drawing.Imaging
Assembly:  System.Drawing (in System.Drawing.dll)
Sintassi

Visual Basic
Public NotInheritable Class ImageAttributes _
	Implements ICloneable, IDisposable
C#
public sealed class ImageAttributes : ICloneable, 
	IDisposable
Visual C++
public ref class ImageAttributes sealed : ICloneable, 
	IDisposable
F#
[<Sealed>]
type ImageAttributes =  
    class
        interface ICloneable
        interface IDisposable
    end

Il tipo ImageAttributes espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ImageAttributes Inizializza una nuova istanza della classe ImageAttributes.
In alto
Metodi

  Nome Descrizione
Metodo pubblico ClearBrushRemapTable Cancella la tabella di modifica del mapping dei colori del pennello di questo oggetto ImageAttributes.
Metodo pubblico ClearColorKey() Cancella la chiave di colore (intervallo di trasparenza) per la categoria predefinita.
Metodo pubblico ClearColorKey(ColorAdjustType) Cancella la chiave di colore (intervallo di trasparenza) per una categoria specificata.
Metodo pubblico ClearColorMatrix() Cancella la matrice di regolazione del colore per la categoria predefinita.
Metodo pubblico ClearColorMatrix(ColorAdjustType) Cancella la matrice di regolazione del colore per una categoria specificata.
Metodo pubblico ClearGamma() Disabilita la correzione gamma per la categoria predefinita.
Metodo pubblico ClearGamma(ColorAdjustType) Disabilita la correzione gamma per una categoria specificata.
Metodo pubblico ClearNoOp() Cancella l'impostazione NoOp per la categoria predefinita.
Metodo pubblico ClearNoOp(ColorAdjustType) Cancella l'impostazione NoOp per una categoria specificata.
Metodo pubblico ClearOutputChannel() Cancella l'impostazione del canale di output CMYK per la categoria predefinita.
Metodo pubblico ClearOutputChannel(ColorAdjustType) Cancella l'impostazione del canale di output CMYK per una categoria specificata.
Metodo pubblico ClearOutputChannelColorProfile() Cancella l'impostazione del profilo del colore del canale di output per la categoria predefinita.
Metodo pubblico ClearOutputChannelColorProfile(ColorAdjustType) Cancella l'impostazione del profilo del colore del canale di output per una categoria specificata.
Metodo pubblico ClearRemapTable() Cancella la tabella di modifica del mapping dei colori per la categoria predefinita.
Metodo pubblico ClearRemapTable(ColorAdjustType) Cancella la tabella di modifica del mapping dei colori per una categoria specificata.
Metodo pubblico ClearThreshold() Cancella il valore di soglia per la categoria predefinita.
Metodo pubblico ClearThreshold(ColorAdjustType) Cancella il valore di soglia per una categoria specificata.
Metodo pubblico Clone Crea una copia esatta dell'oggetto ImageAttributes.
Metodo pubblico Dispose Rilascia tutte le risorse utilizzate dall'oggetto ImageAttributes.
Metodo pubblico Equals(Object) Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetAdjustedPalette Regola i colori in una tavolozza in base alle impostazioni di regolazione di una categoria specificata.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico SetBrushRemapTable Imposta la tabella di modifica del mapping dei colori per la categoria pennello.
Metodo pubblico SetColorKey(Color, Color) Imposta la chiave di colore per la categoria predefinita.
Metodo pubblico SetColorKey(Color, Color, ColorAdjustType) Imposta la chiave di colore (intervallo di trasparenza) per una categoria specificata.
Metodo pubblico SetColorMatrices(ColorMatrix, ColorMatrix) Imposta la matrice di regolazione del colore e la matrice di regolazione delle gradazioni di grigio per la categoria predefinita.
Metodo pubblico SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag) Imposta la matrice di regolazione del colore e la matrice di regolazione delle gradazioni di grigio per la categoria predefinita.
Metodo pubblico SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType) Imposta la matrice di regolazione del colore e la matrice di regolazione delle gradazioni di grigio per una categoria specificata.
Metodo pubblico SetColorMatrix(ColorMatrix) Imposta la matrice di regolazione del colore per la categoria predefinita.
Metodo pubblico SetColorMatrix(ColorMatrix, ColorMatrixFlag) Imposta la matrice di regolazione del colore per la categoria predefinita.
Metodo pubblico SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType) Imposta la matrice di regolazione del colore per una categoria specificata.
Metodo pubblico SetGamma(Single) Imposta il valore gamma per la categoria predefinita.
Metodo pubblico SetGamma(Single, ColorAdjustType) Imposta il valore gamma per una categoria specificata.
Metodo pubblico SetNoOp() Disattiva la regolazione del colore per la categoria predefinita. È possibile chiamare il metodo ClearNoOp per ripristinare le impostazioni di regolazione del colore precedenti alla chiamata al metodo SetNoOp.
Metodo pubblico SetNoOp(ColorAdjustType) Disattiva la regolazione del colore per una categoria specificata. È possibile chiamare il metodo ClearNoOp per ripristinare le impostazioni di regolazione del colore precedenti alla chiamata al metodo SetNoOp.
Metodo pubblico SetOutputChannel(ColorChannelFlag) Imposta il canale di output CMYK per la categoria predefinita.
Metodo pubblico SetOutputChannel(ColorChannelFlag, ColorAdjustType) Imposta il canale di output CMYK per una categoria specificata.
Metodo pubblico SetOutputChannelColorProfile(String) Imposta il file del profilo del colore del canale di output per la categoria predefinita.
Metodo pubblico SetOutputChannelColorProfile(String, ColorAdjustType) Imposta il file del profilo del colore del canale di output per una categoria specificata.
Metodo pubblico SetRemapTable(ColorMap[]) Imposta la tabella di modifica del mapping dei colori per la categoria predefinita.
Metodo pubblico SetRemapTable(ColorMap[], ColorAdjustType) Imposta la tabella di modifica del mapping dei colori per una categoria specificata.
Metodo pubblico SetThreshold(Single) Imposta la soglia (intervallo di trasparenza) per la categoria predefinita.
Metodo pubblico SetThreshold(Single, ColorAdjustType) Imposta la soglia (intervallo di trasparenza) per una categoria specificata.
Metodo pubblico SetWrapMode(WrapMode) Imposta la modalità di disposizione utilizzata per decidere come inserire una trama all'interno di una forma o entro i limiti di quest'ultima. Una trama viene inserita all'interno di una forma per riempirla quando è di dimensioni minori rispetto alla forma.
Metodo pubblico SetWrapMode(WrapMode, Color) Imposta la modalità di disposizione e il colore utilizzati per decidere come inserire una trama all'interno di una forma o nei limiti di quest'ultima. Una trama viene inserita all'interno di una forma per riempirla quando è di dimensioni minori rispetto alla forma.
Metodo pubblico SetWrapMode(WrapMode, Color, Boolean) Imposta la modalità di disposizione e il colore utilizzati per decidere come inserire una trama all'interno di una forma o nei limiti di quest'ultima. Una trama viene inserita all'interno di una forma per riempirla quando è di dimensioni minori rispetto alla forma.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto
Note

Un oggetto ImageAttributes mantiene diverse impostazioni di regolazione dei colori, tra cui le matrici di regolazione dei colori, le matrici di regolazione delle gradazioni di grigio, i valori di correzione gamma, le tabelle della mappa dei colori e i valori di soglia dei colori. Durante il rendering i colori possono venire corretti, scuriti, schiariti e rimossi. Per applicare tali operazioni di modifica, inizializzare un oggetto ImageAttributes e passare il percorso di tale oggetto ImageAttributes, unitamente al percorso di un oggetto Image, al metodo DrawImage.

Esempi

Nell'esempio seguente viene raddoppiata la componente rossa di un'immagine monocromatica (0,2, 0,0, 0,4, 1,0), quindi viene aggiunto 0,2 alle componenti rossa, blu e verde.

Nell'illustrazione che segue si mostra l'immagine originale a sinistra e l'immagine trasformata a destra.

Colori

Nel codice riportato di seguito la ricolorazione è eseguita tramite i seguenti passaggi:

  1. Inizializzazione di un oggetto ColorMatrix.

  2. Creazione di un oggetto ImageAttributes e passaggio dell'oggetto ColorMatrix al metodo SetColorMatrix dell'oggetto ImageAttributes.

  3. Passaggio dell'oggetto ImageAttributes al metodo DrawImage di un oggetto Graphics.

Visual Basic

        Dim image As New Bitmap("InputColor.bmp")
        Dim imageAttributes As New ImageAttributes()
        Dim width As Integer = image.Width
        Dim height As Integer = image.Height

        ' The following matrix consists of the following transformations:
        ' red scaling factor of 2
        ' green scaling factor of 1
        ' blue scaling factor of 1
        ' alpha scaling factor of 1
        ' three translations of 0.2
        Dim colorMatrixElements As Single()() = { _
           New Single() {2, 0, 0, 0, 0}, _
           New Single() {0, 1, 0, 0, 0}, _
           New Single() {0, 0, 1, 0, 0}, _
           New Single() {0, 0, 0, 1, 0}, _
           New Single() {0.2F, 0.2F, 0.2F, 0, 1}}

        Dim colorMatrix As New ColorMatrix(colorMatrixElements)

        imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap)

        e.Graphics.DrawImage(image, 10, 10)

        e.Graphics.DrawImage( _
           image, _
           New Rectangle(120, 10, width, height), _
           0, _
           0, _
           width, _
           height, _
           GraphicsUnit.Pixel, _
           imageAttributes)



C#

Image image = new Bitmap("InputColor.bmp");
ImageAttributes imageAttributes = new ImageAttributes();
int width = image.Width;
int height = image.Height;

float[][] colorMatrixElements = { 
   new float[] {2,  0,  0,  0, 0},        // red scaling factor of 2
   new float[] {0,  1,  0,  0, 0},        // green scaling factor of 1
   new float[] {0,  0,  1,  0, 0},        // blue scaling factor of 1
   new float[] {0,  0,  0,  1, 0},        // alpha scaling factor of 1
   new float[] {.2f, .2f, .2f, 0, 1}};    // three translations of 0.2

ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);

imageAttributes.SetColorMatrix(
   colorMatrix,
   ColorMatrixFlag.Default,
   ColorAdjustType.Bitmap);

e.Graphics.DrawImage(image, 10, 10);

e.Graphics.DrawImage(
   image,
   new Rectangle(120, 10, width, height),  // destination rectangle 
   0, 0,        // upper-left corner of source rectangle 
   width,       // width of source rectangle
   height,      // height of source rectangle
   GraphicsUnit.Pixel,
   imageAttributes);


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche

Riferimenti

Altre risorse