Compartir a través de


ImageAttributes Clase

Definición

Contiene información acerca de la manipulación de los colores de los mapas de bits y de los metarchivos durante la representación.

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
Herencia
ImageAttributes
Implementaciones

Ejemplos

En el ejemplo siguiente se toma una imagen que es todo un color (0.2, 0.0, 0.4, 1.0) y duplica el componente rojo agrega 0,2 a los componentes rojo, verde y azul.

En la ilustración siguiente se muestra la imagen original a la izquierda y la imagen transformada a la derecha.

Colores de colores

El código del ejemplo usa los pasos siguientes para realizar el cambio de color:

  1. Inicializa un objeto ColorMatrix.

  2. Crea un objeto ImageAttributes y pasa el objeto ColorMatrix al método SetColorMatrix del objeto ImageAttributes.

  3. Pasa el objeto ImageAttributes al método DrawImage de un objeto Graphics.

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)

Comentarios

Un ImageAttributes objeto mantiene varias opciones de ajuste de color, incluidas matrices de ajuste de color, matrices de ajuste de escala de grises, valores de corrección gamma, tablas de mapa de colores y valores de umbral de color. Durante la representación, los colores se pueden corregir, oscurecer, aclarar y quitar. Para aplicar estas manipulaciones, inicialice un ImageAttributes objeto y pase la ruta de acceso de ese ImageAttributes objeto (junto con la ruta de acceso de un Image) al DrawImage método .

Nota

En .NET 6 y versiones posteriores, el paquete System.Drawing.Common, que incluye este tipo, solo se admite en sistemas operativos Windows. El uso de este tipo en aplicaciones multiplataforma provoca advertencias en tiempo de compilación y excepciones en tiempo de ejecución. Para obtener más información, consulte System.Drawing.Common only supported on Windows(System.Drawing.Common only supported on Windows).

Constructores

ImageAttributes()

Inicializa una nueva instancia de la clase ImageAttributes.

Métodos

ClearBrushRemapTable()

Borra la tabla de reasignación de colores del pincel de este objeto ImageAttributes.

ClearColorKey()

Borra la clave de color (intervalo de transparencia) de la categoría predeterminada.

ClearColorKey(ColorAdjustType)

Borra la clave de color (intervalo de transparencia) de la categoría predeterminada.

ClearColorMatrix()

Borra la matriz de ajuste de color de la categoría predeterminada.

ClearColorMatrix(ColorAdjustType)

Borra la matriz de ajuste de color de una categoría especificada.

ClearGamma()

Deshabilita la corrección gamma de la categoría predeterminada.

ClearGamma(ColorAdjustType)

Deshabilita la corrección gamma de la categoría especificada.

ClearNoOp()

Borra la configuración de NoOp para la categoría predeterminada.

ClearNoOp(ColorAdjustType)

Borra la configuración de NoOp para la categoría especificada.

ClearOutputChannel()

Borra la configuración del canal de salida CMYK (aguamarina-fucsia-amarillo-negro) para la categoría predeterminada.

ClearOutputChannel(ColorAdjustType)

Borra la configuración del canal de salida (aguamarina-fucsia-amarillo-negro) para la categoría especificada.

ClearOutputChannelColorProfile()

Borra la configuración de perfil de color del canal de salida de la categoría predeterminada.

ClearOutputChannelColorProfile(ColorAdjustType)

Borra la configuración de perfil de color del canal de salida de la categoría especificada.

ClearRemapTable()

Borra la tabla de reasignación de colores de la categoría predeterminada.

ClearRemapTable(ColorAdjustType)

Borra la tabla de reasignación de colores de la categoría especificada.

ClearThreshold()

Borra el valor de umbral de la categoría predeterminada.

ClearThreshold(ColorAdjustType)

Borra el valor de umbral de la categoría especificada.

Clone()

Crea una copia exacta de este objeto ImageAttributes.

Dispose()

Libera todos los recursos utilizados por este objeto ImageAttributes.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de que sea reclamado por la recolección de elementos no utilizados.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Ajusta los colores de una paleta según los valores de ajuste de una categoría especificada.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SetBrushRemapTable(ColorMap[])

Establece la tabla de reasignación de colores de la categoría de pincel.

SetBrushRemapTable(ReadOnlySpan<ColorMap>)

Contiene información acerca de la manipulación de los colores de los mapas de bits y de los metarchivos durante la representación.

SetBrushRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>)

Contiene información acerca de la manipulación de los colores de los mapas de bits y de los metarchivos durante la representación.

SetColorKey(Color, Color)

Establece la clave de color de la categoría predeterminada.

SetColorKey(Color, Color, ColorAdjustType)

Establece la clave de color (intervalo de transparencia) de la categoría predeterminada.

SetColorMatrices(ColorMatrix, ColorMatrix)

Establece la matriz de ajuste de color y de escala de grises de la categoría predeterminada.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

Establece la matriz de ajuste de color y de escala de grises de la categoría predeterminada.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Establece la matriz de ajuste de color y de escala de grises de la categoría especificada.

SetColorMatrix(ColorMatrix)

Establece la matriz de ajuste de color de la categoría predeterminada.

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

Establece la matriz de ajuste de color de la categoría predeterminada.

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Establece la matriz de ajuste de color de una categoría especificada.

SetGamma(Single)

Establece el valor gamma de la categoría predeterminada.

SetGamma(Single, ColorAdjustType)

Establece el valor gamma de la categoría especificada.

SetNoOp()

Desactiva el ajuste de color de la categoría predeterminada. Se puede llamar al método ClearNoOp para restaurar los valores de ajuste de color anteriores a la llamada al método SetNoOp.

SetNoOp(ColorAdjustType)

Desactiva el ajuste de color de la categoría especificada. Se puede llamar al método ClearNoOp para restaurar los valores de ajuste de color anteriores a la llamada al método SetNoOp.

SetOutputChannel(ColorChannelFlag)

Establece la configuración del canal de salida CMYK (aguamarina-fucsia-amarillo-negro) para la categoría predeterminada.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Establece el canal de salida CMYK (aguamarina-fucsia-amarillo-negro) para la categoría especificada.

SetOutputChannelColorProfile(String)

Establece el archivo de perfil de color del canal de salida de la categoría predeterminada.

SetOutputChannelColorProfile(String, ColorAdjustType)

Establece el archivo de perfil de color del canal de salida de la categoría especificada.

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

Contiene información acerca de la manipulación de los colores de los mapas de bits y de los metarchivos durante la representación.

SetRemapTable(ColorAdjustType, ReadOnlySpan<ValueTuple<Color,Color>>)

Contiene información acerca de la manipulación de los colores de los mapas de bits y de los metarchivos durante la representación.

SetRemapTable(ColorMap[])

Establece la tabla de reasignación de colores de la categoría predeterminada.

SetRemapTable(ColorMap[], ColorAdjustType)

Establece la tabla de reasignación de colores de la categoría especificada.

SetRemapTable(ReadOnlySpan<ColorMap>)

Contiene información acerca de la manipulación de los colores de los mapas de bits y de los metarchivos durante la representación.

SetRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>)

Contiene información acerca de la manipulación de los colores de los mapas de bits y de los metarchivos durante la representación.

SetThreshold(Single)

Establece el umbral (intervalo de transparencia) de la categoría predeterminada.

SetThreshold(Single, ColorAdjustType)

Establece el umbral (intervalo de transparencia) de la categoría especificada.

SetWrapMode(WrapMode)

Establece el modo de ajuste que se usa para decidir el modo de colocar una textura en forma de mosaico dentro de una forma, o en los límites de la misma. Un textura se coloca en mosaico dentro de una forma para rellenarla si la textura es más pequeña que la forma que va a rellenar.

SetWrapMode(WrapMode, Color)

Establece el modo y el color de ajuste que se usan para decidir la forma de colocar una textura tipo mosaico a través de una forma, o en los límites de la misma. Un textura se coloca en mosaico dentro de una forma para rellenarla si la textura es más pequeña que la forma que va a rellenar.

SetWrapMode(WrapMode, Color, Boolean)

Establece el modo y el color de ajuste que se usan para decidir la forma de colocar una textura tipo mosaico a través de una forma, o en los límites de la misma. Un textura se coloca en mosaico dentro de una forma para rellenarla si la textura es más pequeña que la forma que va a rellenar.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también