ImageAttributes Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Contiene informazioni sulla modalità di modifica dei colori 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
Nell'esempio seguente viene accettata un'immagine che corrisponde a un solo colore (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.
Il codice nell'esempio usa i passaggi seguenti per eseguire la ricolorazione:
Inizializzare un ColorMatrix oggetto .
Creare un ImageAttributes oggetto e passare l'oggetto ColorMatrix al SetColorMatrix metodo dell'oggetto ImageAttributes .
Passare l'oggetto ImageAttributes al DrawImage 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 del colore, tra cui matrici di regolazione dei colori, matrici di regolazione della scala di grigi, valori di correzione gamma, tabelle della mappa dei colori e valori di soglia dei colori. Durante il rendering, i colori possono essere corretti, scuriti, illuminati e rimossi. Per applicare tali manipolazioni, inizializzare un ImageAttributes oggetto e passare il percorso di tale ImageAttributes oggetto (insieme al percorso di un oggetto Image) al DrawImage metodo .
Note
In .NET 6 e versioni successive il pacchetto System.Drawing.Common, che include questo tipo, è supportato solo nei sistemi operativi Windows. L'uso di questo tipo nelle app multipiattaforma causa avvisi in fase di compilazione ed eccezioni in fase di esecuzione. Per altre informazioni, vedere System.Drawing.Common supportato solo in Windows.
Costruttori
| Nome | Descrizione |
|---|---|
| ImageAttributes() |
Inizializza una nuova istanza della classe ImageAttributes. |
Metodi
| Nome | Descrizione |
|---|---|
| ClearBrushRemapTable() |
Cancella la tabella color-remap del pennello di questo ImageAttributes oggetto. |
| 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 |
| ClearNoOp(ColorAdjustType) |
Cancella l'impostazione |
| ClearOutputChannel() |
Cancella l'impostazione del canale di output CMYK (cyan-magenta-yellow-black) per la categoria predefinita. |
| ClearOutputChannel(ColorAdjustType) |
Cancella l'impostazione del canale di output (ciano-magenta-giallo-nero) per una categoria specificata. |
| ClearOutputChannelColorProfile() |
Cancella l'impostazione del profilo colore del canale di output per la categoria predefinita. |
| ClearOutputChannelColorProfile(ColorAdjustType) |
Cancella l'impostazione del profilo colore del canale di output per una categoria specificata. |
| ClearRemapTable() |
Cancella la tabella color-remap per la categoria predefinita. |
| ClearRemapTable(ColorAdjustType) |
Cancella la tabella color-remap 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 di questo ImageAttributes oggetto. |
| Dispose() |
Rilascia tutte le risorse usate da questo ImageAttributes oggetto. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Finalize() |
Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperata 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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| SetBrushRemapTable(ColorMap[]) |
Imposta la tabella color-remap per la categoria pennello. |
| SetBrushRemapTable(ReadOnlySpan<ColorMap>) |
Imposta la tabella color-remap per una categoria specificata. |
| SetBrushRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>) |
Imposta la tabella color-remap per una categoria specificata. |
| SetColorKey(Color, Color, ColorAdjustType) |
Imposta la chiave di colore (intervallo di trasparenza) per una categoria specificata. |
| SetColorKey(Color, Color) |
Imposta la chiave di colore per la categoria predefinita. |
| SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType) |
Imposta la matrice di regolazione del colore e la matrice di regolazione della scala grigia per una categoria specificata. |
| SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag) |
Imposta la matrice di regolazione del colore e la matrice di regolazione della scala di grigi per la categoria predefinita. |
| SetColorMatrices(ColorMatrix, ColorMatrix) |
Imposta la matrice di regolazione del colore e la matrice di regolazione della scala di grigi per la categoria predefinita. |
| SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType) |
Imposta la matrice di regolazione del colore per una categoria specificata. |
| SetColorMatrix(ColorMatrix, ColorMatrixFlag) |
Imposta la matrice di regolazione del colore per la categoria predefinita. |
| SetColorMatrix(ColorMatrix) |
Imposta la matrice di regolazione del colore per la categoria predefinita. |
| SetGamma(Single, ColorAdjustType) |
Imposta il valore gamma per una categoria specificata. |
| SetGamma(Single) |
Imposta il valore gamma per la categoria predefinita. |
| SetNoOp() |
Disattiva la regolazione del colore per la categoria predefinita. È possibile chiamare il ClearNoOp metodo per ripristinare le impostazioni di regolazione del colore applicate prima della chiamata al SetNoOp metodo . |
| SetNoOp(ColorAdjustType) |
Disattiva la regolazione del colore per una categoria specificata. È possibile chiamare il ClearNoOp metodo per ripristinare le impostazioni di regolazione del colore applicate prima della chiamata al SetNoOp metodo . |
| SetOutputChannel(ColorChannelFlag, ColorAdjustType) |
Imposta il canale di output CMYK (ciano-magenta-giallo-nero) per una categoria specificata. |
| SetOutputChannel(ColorChannelFlag) |
Imposta il canale di output CMYK (cyan-magenta-yellow-black) per la categoria predefinita. |
| SetOutputChannelColorProfile(String, ColorAdjustType) |
Imposta il file del profilo di colore del canale di output per una categoria specificata. |
| SetOutputChannelColorProfile(String) |
Imposta il file del profilo di colore del canale di output per la categoria predefinita. |
| SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>) |
Imposta la tabella color-remap per una categoria specificata. |
| SetRemapTable(ColorAdjustType, ReadOnlySpan<ValueTuple<Color,Color>>) |
Imposta la tabella color-remap per una categoria specificata. |
| SetRemapTable(ColorMap[], ColorAdjustType) |
Imposta la tabella color-remap per una categoria specificata. |
| SetRemapTable(ColorMap[]) |
Imposta la tabella color-remap per la categoria predefinita. |
| SetRemapTable(ReadOnlySpan<ColorMap>) |
Imposta la tabella color-remap per una categoria specificata. |
| SetRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>) |
Imposta la tabella color-remap per una categoria specificata. |
| SetThreshold(Single, ColorAdjustType) |
Imposta la soglia (intervallo di trasparenza) per una categoria specificata. |
| SetThreshold(Single) |
Imposta la soglia (intervallo di trasparenza) per la categoria predefinita. |
| SetWrapMode(WrapMode, Color, Boolean) |
Imposta la modalità di ritorno a capo e il colore utilizzati per decidere come affiancare una trama attraverso una forma o in corrispondenza dei limiti della forma. Una trama viene affiancata su una forma per riempirla quando la trama è più piccola della forma che sta riempiendo. |
| SetWrapMode(WrapMode, Color) |
Imposta la modalità di ritorno a capo e il colore utilizzati per decidere come affiancare una trama attraverso una forma o in corrispondenza dei limiti della forma. Una trama viene affiancata su una forma per riempirla quando la trama è più piccola della forma che sta riempiendo. |
| SetWrapMode(WrapMode) |
Imposta la modalità di ritorno a capo utilizzata per decidere come affiancare una trama attraverso una forma o in corrispondenza dei limiti della forma. Una trama viene affiancata su una forma per riempirla quando la trama è più piccola della forma che sta riempiendo. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |