Compartilhar via


Método ImageAttributes::SetRemapTable (gdiplusimageattributes.h)

O método ImageAttributes::SetRemapTable define a tabela color-remap para uma categoria especificada.

Sintaxe

Status SetRemapTable(
  [in]           UINT            mapSize,
  [in]           const ColorMap  *map,
  [in, optional] ColorAdjustType type
);

Parâmetros

[in] mapSize

Tipo: UINT

INT que especifica o número de elementos na matriz de mapa .

[in] map

Tipo: const ColorMap*

Ponteiro para uma matriz de estruturas ColorMap que define o mapa de cores.

[in, optional] type

Tipo: ColorAdjustType

Elemento da enumeração ColorAdjustType que especifica a categoria para a qual a tabela color-remap está definida. O valor padrão é ColorAdjustTypeDefault.

Valor retornado

Tipo: Status

Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .

Se o método falhar, ele retornará um dos outros elementos da enumeração Status .

Comentários

Uma tabela de remapeamento de cores é uma matriz de estruturas ColorMap . Cada estrutura ColorMap tem dois objetos Color : um que especifica uma cor antiga e outra que especifica uma nova cor correspondente. Durante a renderização, qualquer cor que corresponda a uma das cores antigas na tabela de remapeamento é alterada para a nova cor correspondente.

Um objeto ImageAttributes mantém as configurações de cor e escala de cinza para cinco categorias de ajuste: padrão, bitmap, pincel, caneta e texto. Por exemplo, você pode especificar um remapeamento de cores para a categoria padrão, uma tabela de remapeamento de cores para a categoria bitmap e ainda uma tabela de remapeamento de cores diferente para a categoria de caneta.

As configurações padrão de ajuste de escala de cores e cinza se aplicam a todas as categorias que não têm configurações de ajuste próprias. Por exemplo, se você nunca especificar nenhuma configuração de ajuste para a categoria de caneta, as configurações padrão se aplicarão à categoria de caneta.

Assim que você especificar uma configuração de ajuste de escala de cor ou cinza para uma determinada categoria, as configurações de ajuste padrão não se aplicam mais a essa categoria. Por exemplo, suponha que você especifique uma coleção de configurações de ajuste para a categoria padrão. Se você definir a tabela color-remap para a categoria de caneta passando ColorAdjustTypePen para o método ImageAttributes::SetRemapTable , nenhuma das configurações de ajuste padrão se aplicará às canetas.

Exemplos

O exemplo a seguir cria um objeto Image com base em um arquivo .bmp e desenha a imagem. O código cria um objeto ImageAttributes e define sua tabela de remapeamento padrão para que o vermelho seja convertido em azul. Em seguida, o código desenha a imagem novamente usando o ajuste de cor especificado pela tabela de remapeamento.


VOID Example_SetRemapTable(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an Image object based on a .bmp file.
   // The image has one red stripe and one green stripe.
   Image image(L"RedGreenStripes.bmp");

   // Create an ImageAttributes object and set its remap table.
   ImageAttributes imageAtt;
   ColorMap cMap;
   cMap.oldColor = Color(255, 255, 0, 0);  // red 
   cMap.newColor = Color(255, 0, 0, 255);  // blue
   imageAtt.SetRemapTable(12, &cMap,
      ColorAdjustTypeDefault);

   // Draw the image with no color adjustment.
   graphics.DrawImage(&image, 10, 10, image.GetWidth(), image.GetHeight());
 
   // Draw the image with red converted to blue.
   graphics.DrawImage(&image,
      Rect(100, 10, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),           // source rect
      UnitPixel,
      &imageAtt);
}
				

A ilustração a seguir mostra a saída do código anterior.

Ilustração mostrando um retângulo com regiões vermelhas e verdes e, em seguida, o mesmo retângulo com a região vermelha substituída por azul

Requisitos

   
Cliente mínimo com suporte Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho gdiplusimageattributes.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Bitmap

Cor

Coloradjusttype

Colormap

Imagem

Imageattributes

ImageAttributes::ClearRemapTable

Metarquivo

Recolorir