ImageAttributes Classe

Definizione

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

public ref class ImageAttributes sealed : ICloneable, IDisposable
public sealed class ImageAttributes : ICloneable, IDisposable
type ImageAttributes = class
    interface ICloneable
    interface IDisposable
Public NotInheritable Class ImageAttributes
Implements ICloneable, IDisposable
Ereditarietà
ImageAttributes
Implementazioni

Esempio

L'esempio seguente accetta un'immagine che corrisponde a tutti i colori (0,2, 0,0, 0,4, 1,0) e raddoppia il componente rosso aggiunge 0,2 ai componenti rosso, verde e blu.

La figura seguente mostra l'immagine originale a sinistra e l'immagine trasformata a destra.

Colori

Il codice nell'esempio usa la procedura seguente per eseguire la ricolorazione:

  1. Inizializzare un ColorMatrix oggetto.

  2. Creare un ImageAttributes oggetto e passare l'oggetto ColorMatrix al SetColorMatrix metodo dell'oggetto ImageAttributes .

  3. Passare l'oggetto ImageAttributes DrawImage al metodo di un Graphics oggetto.

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);
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)

Commenti

Un ImageAttributes oggetto gestisce diverse impostazioni di regolazione dei colori, tra cui matrici di regolazione dei colori, matrici di regolazione della scala grigia, valori di correzione gamma, tabelle della mappa dei colori e valori soglia colore. Durante il rendering, i colori possono essere corretti, scuriti, chiari e rimossi. Per applicare tali manipolazioni, inizializzare un ImageAttributes oggetto e passare il percorso di tale ImageAttributes oggetto (insieme al percorso di un Image) al DrawImage metodo .

Nota

In .NET 6 e versioni successive il pacchetto System.Drawing.Common,che include questo tipo, è supportato solo nei Windows operativi. L'uso di questo tipo nelle app multipiattaforma genera avvisi in fase di compilazione ed eccezioni in fase di esecuzione. Per altre informazioni, vedere System.Drawing.Common supportatosolo in Windows .

Costruttori

ImageAttributes()

Inizializza una nuova istanza della classe ImageAttributes.

Metodi

ClearBrushRemapTable()

Cancella la tabella di modifica del mapping dei colori del pennello di questo oggetto ImageAttributes.

ClearColorKey()

Cancella la chiave di colore (intervallo di trasparenza) per la categoria predefinita.

ClearColorKey(ColorAdjustType)

Cancella la chiave di colore (intervallo di trasparenza) per una categoria specificata.

ClearColorMatrix()

Cancella la matrice di regolazione del colore per la categoria predefinita.

ClearColorMatrix(ColorAdjustType)

Cancella la matrice di regolazione del colore per una categoria specificata.

ClearGamma()

Disabilita la correzione gamma per la categoria predefinita.

ClearGamma(ColorAdjustType)

Disabilita la correzione gamma per una categoria specificata.

ClearNoOp()

Cancella l'impostazione NoOp per la categoria predefinita.

ClearNoOp(ColorAdjustType)

Cancella l'impostazione NoOp per una categoria specificata.

ClearOutputChannel()

Cancella l'impostazione del canale di output CMYK per la categoria predefinita.

ClearOutputChannel(ColorAdjustType)

Cancella l'impostazione del canale di output CMYK per una categoria specificata.

ClearOutputChannelColorProfile()

Cancella l'impostazione del profilo del colore del canale di output per la categoria predefinita.

ClearOutputChannelColorProfile(ColorAdjustType)

Cancella l'impostazione del profilo del colore del canale di output per una categoria specificata.

ClearRemapTable()

Cancella la tabella di modifica del mapping dei colori per la categoria predefinita.

ClearRemapTable(ColorAdjustType)

Cancella la tabella di modifica del mapping dei colori per una categoria specificata.

ClearThreshold()

Cancella il valore soglia per la categoria predefinita.

ClearThreshold(ColorAdjustType)

Cancella il valore soglia per una categoria specificata.

Clone()

Crea una copia esatta dell'oggetto ImageAttributes.

Dispose()

Rilascia tutte le risorse usate dall'oggetto ImageAttributes.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Regola i colori in una tavolozza in base alle impostazioni di regolazione di una categoria specificata.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SetBrushRemapTable(ColorMap[])

Imposta la tabella di modifica del mapping dei colori per la categoria pennello.

SetColorKey(Color, Color)

Imposta la chiave di colore per la categoria predefinita.

SetColorKey(Color, Color, ColorAdjustType)

Imposta la chiave di colore (intervallo di trasparenza) per una categoria specificata.

SetColorMatrices(ColorMatrix, ColorMatrix)

Imposta la matrice di regolazione del colore e la matrice di regolazione delle gradazioni di grigio per la categoria predefinita.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

Imposta la matrice di regolazione del colore e la matrice di regolazione delle gradazioni di grigio per la categoria predefinita.

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.

SetColorMatrix(ColorMatrix)

Imposta la matrice di regolazione del colore per la categoria predefinita.

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

Imposta la matrice di regolazione del colore per la categoria predefinita.

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Imposta la matrice di regolazione del colore per una categoria specificata.

SetGamma(Single)

Imposta il valore gamma per la categoria predefinita.

SetGamma(Single, ColorAdjustType)

Imposta il valore gamma per una categoria specificata.

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.

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.

SetOutputChannel(ColorChannelFlag)

Imposta il canale di output CMYK per la categoria predefinita.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Imposta il canale di output CMYK per una categoria specificata.

SetOutputChannelColorProfile(String)

Imposta il file del profilo del colore del canale di output per la categoria predefinita.

SetOutputChannelColorProfile(String, ColorAdjustType)

Imposta il file del profilo dei colori del canale di output per una categoria specificata.

SetRemapTable(ColorMap[])

Imposta la tabella di modifica del mapping dei colori per la categoria predefinita.

SetRemapTable(ColorMap[], ColorAdjustType)

Imposta la tabella di modifica del mapping dei colori per una categoria specificata.

SetThreshold(Single)

Imposta la soglia (intervallo di trasparenza) per la categoria predefinita.

SetThreshold(Single, ColorAdjustType)

Imposta la soglia (intervallo di trasparenza) per una categoria specificata.

SetWrapMode(WrapMode)

Imposta la modalità di disposizione usata per decidere come affiancare 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.

SetWrapMode(WrapMode, Color)

Imposta la modalità di disposizione e il colore usati per decidere come affiancare 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.

SetWrapMode(WrapMode, Color, Boolean)

Imposta la modalità di disposizione e il colore usati per decidere come affiancare 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.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche