Compartir a través de


ImageAttributes Clase

Definición

Contiene información sobre cómo se manipulan los colores de mapa de bits y metarchivo 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

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

  1. Inicialice un objeto ColorMatrix.

  2. Cree un objeto ImageAttributes y pase el objeto ColorMatrix al método SetColorMatrix del objeto ImageAttributes.

  3. Pase 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 objeto ImageAttributes 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 objeto ImageAttributes y pase la ruta de acceso de ese objeto ImageAttributes (junto con la ruta de acceso de un Image) al método DrawImage.

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, vea System.Drawing.Common solo se admite en Windows.

Constructores

ImageAttributes()

Inicializa una nueva instancia de la clase ImageAttributes.

Métodos

ClearBrushRemapTable()

Borra la tabla de reasignación de color 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 una categoría especificada.

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 para la categoría predeterminada.

ClearGamma(ColorAdjustType)

Deshabilita la corrección gamma para una categoría especificada.

ClearNoOp()

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

ClearNoOp(ColorAdjustType)

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

ClearOutputChannel()

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

ClearOutputChannel(ColorAdjustType)

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

ClearOutputChannelColorProfile()

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

ClearOutputChannelColorProfile(ColorAdjustType)

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

ClearRemapTable()

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

ClearRemapTable(ColorAdjustType)

Borra la tabla de reasignación de color para una categoría especificada.

ClearThreshold()

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

ClearThreshold(ColorAdjustType)

Borra el valor de umbral de una 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 al objeto actual.

(Heredado de Object)
Finalize()

Permite a un objeto intentar liberar recursos y realizar otras operaciones de limpieza antes de que la recolección de elementos no utilizados la recupere.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Ajusta los colores de una paleta según la configuración de ajuste de una categoría especificada.

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
SetBrushRemapTable(ColorMap[])

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

SetBrushRemapTable(ReadOnlySpan<ColorMap>)

Establece la tabla de reasignación de color para una categoría especificada.

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

Establece la tabla de reasignación de color para una categoría especificada.

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) para una categoría especificada.

SetColorMatrices(ColorMatrix, ColorMatrix)

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

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

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

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

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

SetColorMatrix(ColorMatrix)

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

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

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

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

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

SetGamma(Single)

Establece el valor gamma de la categoría predeterminada.

SetGamma(Single, ColorAdjustType)

Establece el valor gamma de una categoría especificada.

SetNoOp()

Desactiva el ajuste de color de la categoría predeterminada. Puede llamar al método ClearNoOp para restablecer la configuración de ajuste de color que se encontraba en su lugar antes de la llamada al método SetNoOp.

SetNoOp(ColorAdjustType)

Desactiva el ajuste de color de una categoría especificada. Puede llamar al método ClearNoOp para restablecer la configuración de ajuste de color que se encontraba en su lugar antes de la llamada al método SetNoOp.

SetOutputChannel(ColorChannelFlag)

Establece el canal de salida CMYK (cian-magenta-amarillo-negro) para la categoría predeterminada.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Establece el canal de salida CMYK (cian-magenta-amarillo-negro) para una categoría especificada.

SetOutputChannelColorProfile(String)

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

SetOutputChannelColorProfile(String, ColorAdjustType)

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

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

Establece la tabla de reasignación de color para una categoría especificada.

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

Establece la tabla de reasignación de color para una categoría especificada.

SetRemapTable(ColorMap[])

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

SetRemapTable(ColorMap[], ColorAdjustType)

Establece la tabla de reasignación de color para una categoría especificada.

SetRemapTable(ReadOnlySpan<ColorMap>)

Establece la tabla de reasignación de color para una categoría especificada.

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

Establece la tabla de reasignación de color para una categoría especificada.

SetThreshold(Single)

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

SetThreshold(Single, ColorAdjustType)

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

SetWrapMode(WrapMode)

Establece el modo de ajuste que se usa para decidir cómo crear mosaicos de una textura en una forma o en los límites de la forma. Una textura se muestra en mosaico en una forma para rellenarla cuando la textura es menor que la forma que está rellenando.

SetWrapMode(WrapMode, Color)

Establece el modo de ajuste y el color usados para decidir cómo crear mosaicos de una textura a través de una forma o en los límites de la forma. Una textura se muestra en mosaico en una forma para rellenarla cuando la textura es menor que la forma que está rellenando.

SetWrapMode(WrapMode, Color, Boolean)

Establece el modo de ajuste y el color usados para decidir cómo crear mosaicos de una textura a través de una forma o en los límites de la forma. Una textura se muestra en mosaico en una forma para rellenarla cuando la textura es menor que la forma que está rellenando.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también