ImageAttributes Classe

Definição

Contém informações sobre como as cores bitmap e do metafile 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 seguinte pega numa imagem que é toda de uma cor (0,2, 0,0, 0,4, 1,0) e duplica o componente vermelho, adicionando 0,2 aos componentes vermelho, verde e azul.

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

Cores

O código no exemplo utiliza os seguintes passos para realizar a recoloração:

  1. Inicializar um ColorMatrix objeto.

  2. Cria um ImageAttributes objeto e passa o ColorMatrix objeto para o SetColorMatrix método do objeto ImageAttributes .

  3. Passa 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)

Observações

Um ImageAttributes objeto mantém várias definições de ajuste de cor, incluindo matrizes de ajuste de cor, matrizes de ajuste em escala de cinzentos, valores de correção gama, tabelas de mapas de cor e valores de limiar de cor. Durante a renderização, as cores podem ser corrigidas, escurecidas, clareadas e removidas. Para aplicar tais 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.

Note

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

Construtores

Name Description
ImageAttributes()

Inicializa uma nova instância da ImageAttributes classe.

Métodos

Name Description
ClearBrushRemapTable()

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

ClearColorKey()

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

ClearColorKey(ColorAdjustType)

Limpa a tecla de cor (intervalo de transparência) para uma categoria especificada.

ClearColorMatrix()

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

ClearColorMatrix(ColorAdjustType)

Limpa a matriz de ajuste de cor para uma categoria especificada.

ClearGamma()

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

ClearGamma(ColorAdjustType)

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

ClearNoOp()

Limpa a NoOp definição da categoria padrão.

ClearNoOp(ColorAdjustType)

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

ClearOutputChannel()

Elimina a definição CMYK (ciano-magenta-amarelo-preto) do canal de saída da categoria padrão.

ClearOutputChannel(ColorAdjustType)

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

ClearOutputChannelColorProfile()

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

ClearOutputChannelColorProfile(ColorAdjustType)

Elimina a definiçã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()

Elimina o valor limiar para a categoria padrão.

ClearThreshold(ColorAdjustType)

Elimina o valor limiar para uma categoria especificada.

Clone()

Cria uma cópia exata deste ImageAttributes objeto.

Dispose()

Liberta todos os recursos utilizados por este ImageAttributes objeto.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Permite que um objeto tente libertar recursos e realizar outras operações de limpeza antes de ser recuperado pela recolha de lixo.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Ajusta as cores numa paleta de acordo com as definições de ajuste de uma categoria especificada.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SetBrushRemapTable(ColorMap[])

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

SetColorKey(Color, Color, ColorAdjustType)

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

SetColorKey(Color, Color)

Define a chave de cores para a categoria padrão.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Define a matriz de ajuste de cor e a matriz de ajuste em tons de cinzentos para uma categoria especificada.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

Define a matriz de ajuste de cor e a matriz de ajuste em tons de cinzentos para a categoria padrão.

SetColorMatrices(ColorMatrix, ColorMatrix)

Define a matriz de ajuste de cor e a matriz de ajuste em tons de cinzentos para a categoria padrão.

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Define a matriz de ajuste de cor para uma categoria especificada.

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

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

SetColorMatrix(ColorMatrix)

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

SetGamma(Single, ColorAdjustType)

Define o valor gama para uma categoria especificada.

SetGamma(Single)

Define o valor gama para a categoria padrão.

SetNoOp()

Desativa o ajuste de cor para a categoria padrão. Podes chamar o ClearNoOp método para restabelecer as definições de ajuste de cor que estavam em vigor antes da chamada ao SetNoOp método.

SetNoOp(ColorAdjustType)

Desativa o ajuste de cor para uma categoria especificada. Podes chamar o ClearNoOp método para restabelecer as definições de ajuste de cor que estavam em vigor antes da chamada ao SetNoOp método.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

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

SetOutputChannel(ColorChannelFlag)

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

SetOutputChannelColorProfile(String, ColorAdjustType)

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

SetOutputChannelColorProfile(String)

Define o ficheiro de perfil de cor do canal de saída para a categoria predefinida.

SetRemapTable(ColorMap[], ColorAdjustType)

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

SetRemapTable(ColorMap[])

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

SetThreshold(Single, ColorAdjustType)

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

SetThreshold(Single)

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

SetWrapMode(WrapMode, Color, Boolean)

Define o modo de envolvimento e a cor usados para decidir como colocar uma textura em mosaico numa forma, ou nos limites das formas. Uma textura é colocada em mosaico sobre uma forma para a preencher quando a textura é menor do que a forma que está a preencher.

SetWrapMode(WrapMode, Color)

Define o modo de envolvimento e a cor usados para decidir como colocar uma textura em mosaico numa forma, ou nos limites das formas. Uma textura é colocada em mosaico sobre uma forma para a preencher quando a textura é menor do que a forma que está a preencher.

SetWrapMode(WrapMode)

Define o modo de enrolar que é usado para decidir como colocar uma textura em mosaico numa forma, ou nos limites das formas. Uma textura é colocada em mosaico sobre uma forma para a preencher quando a textura é menor do que a forma que está a preencher.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também