Compartilhar via


ImageAttributes Classe

Definição

Contém informações sobre como as cores do bitmap e do metarquivo são manipuladas durante a renderização.

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
Herança
ImageAttributes
Implementações

Exemplos

O exemplo a seguir usa uma imagem que é toda uma cor (0.2, 0.0, 0.4, 1.0) e dobra o componente vermelho adiciona 0.2 aos componentes vermelho, verde e azul.

A ilustração a seguir mostra a imagem original à esquerda e a imagem transformada à direita.

Cores

O código no exemplo usa as seguintes etapas para executar a recoloração:

  1. Inicializar um ColorMatrix objeto .

  2. Create um ImageAttributes objeto e passe o ColorMatrix objeto para o SetColorMatrix método do ImageAttributes objeto .

  3. Passe o ImageAttributes objeto para o DrawImage método de um Graphics objeto .

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)

Comentários

Um ImageAttributes objeto mantém várias configurações de ajuste de cor, incluindo matrizes de ajuste de cor, matrizes de ajuste de escala de cinza, valores de correção gama, tabelas de mapa de cores e valores de limite de cor. Durante a renderização, as cores podem ser corrigidas, escurecidos, iluminados e removidos. Para aplicar essas manipulações, inicialize um ImageAttributes objeto e passe o caminho desse ImageAttributes objeto (juntamente com o caminho de um Image) para o DrawImage método .

Observação

No .NET 6 e versões posteriores, o pacote System.Drawing.Common, que inclui esse tipo, só tem suporte em sistemas operacionais Windows. O uso desse tipo em aplicativos multiplataforma causa avisos de tempo de compilação e exceções em tempo de execução. Para obter mais informações, consulte System.Drawing.Common com suporte apenas no Windows.

Construtores

ImageAttributes()

Inicializa uma nova instância da classe ImageAttributes.

Métodos

ClearBrushRemapTable()

Limpa a tabela de remapeamento de cores do pincel deste objeto ImageAttributes.

ClearColorKey()

Limpa a chave de cores (intervalo de transparência) para a categoria padrão.

ClearColorKey(ColorAdjustType)

Limpa a chave de cores (intervalo de transparência) para uma categoria especificada.

ClearColorMatrix()

Limpa a matriz de ajuste de cores para a categoria padrão.

ClearColorMatrix(ColorAdjustType)

Limpa a matriz de ajuste de cores de uma categoria especificada.

ClearGamma()

Desabilita a correção gama para a categoria padrão.

ClearGamma(ColorAdjustType)

Desabilita a correção gama para uma categoria especificada.

ClearNoOp()

Limpa a configuração NoOp para a categoria padrão.

ClearNoOp(ColorAdjustType)

Limpa a configuração NoOp para uma categoria especificada.

ClearOutputChannel()

Limpa a configuração de canal de saída CMYK (ciano-magenta-amarelo-preto) para a categoria padrão.

ClearOutputChannel(ColorAdjustType)

Limpa a configuração de canal de saída (ciano-magenta-amarelo-preto) para uma categoria especificada.

ClearOutputChannelColorProfile()

Limpa a configuração do perfil de cor do canal de saída para a categoria padrão.

ClearOutputChannelColorProfile(ColorAdjustType)

Limpa a configuração do perfil de cor do canal de saída para uma categoria especificada.

ClearRemapTable()

Limpa a tabela de remapeamento de cores para a categoria padrão.

ClearRemapTable(ColorAdjustType)

Limpa a tabela de remapeamento de cores para uma categoria especificada.

ClearThreshold()

Limpa o valor do limite para a categoria padrão.

ClearThreshold(ColorAdjustType)

Limpa o valor do limite para uma categoria especificada.

Clone()

Cria uma cópia exata desse objeto ImageAttributes.

Dispose()

Libera todos os recursos usados por esse objeto ImageAttributes.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes de ser recuperado pela coleta de lixo.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Ajusta as cores em uma paleta de acordo com as configurações de ajuste de uma categoria especificada.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SetBrushRemapTable(ColorMap[])

Define a tabela de remapeamento de cores para a categoria de pincel.

SetBrushRemapTable(ReadOnlySpan<ColorMap>)

Contém informações sobre como as cores do bitmap e do metarquivo são manipuladas durante a renderização.

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

Contém informações sobre como as cores do bitmap e do metarquivo são manipuladas durante a renderização.

SetColorKey(Color, Color)

Define o valor de cor para a categoria padrão.

SetColorKey(Color, Color, ColorAdjustType)

Define a chave de cores (intervalo de transparência) para uma categoria especificada.

SetColorMatrices(ColorMatrix, ColorMatrix)

Define a matriz de ajuste de cores e a matriz de ajuste de escala de cinza para a categoria padrão.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

Define a matriz de ajuste de cores e a matriz de ajuste de escala de cinza para a categoria padrão.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Define a matriz de ajuste de cores e a matriz de ajuste de escala de cinza para uma categoria especificada.

SetColorMatrix(ColorMatrix)

Define a matriz de ajuste de cores para a categoria padrão.

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

Define a matriz de ajuste de cores para a categoria padrão.

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Define a matriz de ajuste de cores de uma categoria especificada.

SetGamma(Single)

Define o valor de gama para a categoria padrão.

SetGamma(Single, ColorAdjustType)

Define o valor gama para uma categoria especificada.

SetNoOp()

Desativa o ajuste de cores para a categoria padrão. Você pode chamar o método ClearNoOp para reaplicar as configurações de ajuste de cores que estavam em vigor antes da chamada para o método SetNoOp.

SetNoOp(ColorAdjustType)

Desativa o ajuste de cores para uma categoria especificada. Você pode chamar o método ClearNoOp para reaplicar as configurações de ajuste de cores que estavam em vigor antes da chamada para o método SetNoOp.

SetOutputChannel(ColorChannelFlag)

Define o canal de saída CMYK (ciano-magenta-amarelo-preto) para a categoria padrão.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Define o canal de saída CMYK (ciano-magenta-amarelo-preto) para uma categoria especificada.

SetOutputChannelColorProfile(String)

Define o arquivo do perfil de cor do canal de saída para a categoria padrão.

SetOutputChannelColorProfile(String, ColorAdjustType)

Define o arquivo do perfil de cor do canal de saída para uma categoria especificada.

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

Contém informações sobre como as cores do bitmap e do metarquivo são manipuladas durante a renderização.

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

Contém informações sobre como as cores do bitmap e do metarquivo são manipuladas durante a renderização.

SetRemapTable(ColorMap[])

Define a tabela de remapeamento de cores para a categoria padrão.

SetRemapTable(ColorMap[], ColorAdjustType)

Define a tabela de remapeamento de cores para uma categoria especificada.

SetRemapTable(ReadOnlySpan<ColorMap>)

Contém informações sobre como as cores do bitmap e do metarquivo são manipuladas durante a renderização.

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

Contém informações sobre como as cores do bitmap e do metarquivo são manipuladas durante a renderização.

SetThreshold(Single)

Define o limite (intervalo de transparência) para a categoria padrão.

SetThreshold(Single, ColorAdjustType)

Define o limite (intervalo de transparência) para uma categoria especificada.

SetWrapMode(WrapMode)

Define o modo de quebra automática de linha que é usado para decidir como organizar lado a lado uma textura em uma forma ou nos limites da forma. Uma textura organizada lado a lado em uma forma para preenchê-la quando a textura é menor do que a forma que está preenchendo.

SetWrapMode(WrapMode, Color)

Define o modo de encapsulamento e a cor usadas para decidir como organizar lado a lado uma textura em uma forma ou nos limites da forma. Uma textura organizada lado a lado em uma forma para preenchê-la quando a textura é menor do que a forma que está preenchendo.

SetWrapMode(WrapMode, Color, Boolean)

Define o modo de encapsulamento e a cor usadas para decidir como organizar lado a lado uma textura em uma forma ou nos limites da forma. Uma textura organizada lado a lado em uma forma para preenchê-la quando a textura é menor do que a forma que está preenchendo.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também