Share via


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

O método ImageAttributes::ClearBrushRemapTable limpa a tabela color-remap do pincel deste objeto ImageAttributes .

Sintaxe

Status ClearBrushRemapTable();

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

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 uma tabela de remapeamento de cores para a categoria padrão, uma tabela de remapeamento de cores diferente para a categoria bitmap e ainda uma tabela de remapeamento de cores diferente para a categoria de pincel.

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 pincel, as configurações padrão se aplicarão à categoria brush.

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 tabela de remapeamento padrão que converte vermelho em verde e especifique um valor gama padrão de 1,8. Se você chamar ImageAttributes::SetBrushRemapTable, a tabela de remapeamento padrão (vermelho para verde) e o valor gama padrão (1,8) não se aplicarão aos pincéis. Se você chamar ImageAttributes::ClearBrushRemapTable posteriormente, a categoria brush não reverter à tabela de remapeamento padrão; em vez disso, a categoria brush não terá nenhuma tabela de remap. Da mesma forma, a categoria brush não reverter ao valor gama padrão; em vez disso, a categoria brush não terá nenhum valor gama.

Exemplos

O exemplo a seguir cria um objeto Image de um arquivo .emf. O código também cria um objeto ImageAttributes . A chamada para ImageAttributes::SetRemapTable define a tabela padrão color-remap do objeto ImageAttributes para uma tabela que converte vermelho em azul. A chamada para ImageAttributes::SetBrushRemapTable define a tabela de remapeamento de pincel do objeto ImageAttributes para uma tabela que converte vermelho em verde.

O código chama DrawImage uma vez para desenhar a imagem sem ajuste de cor. Em seguida, o código chama DrawImage mais três vezes, cada vez passando o endereço do objeto Image e o endereço do objeto ImageAttributes . Na segunda vez que a imagem é desenhada (após a chamada para ImageAttributes::SetRemapTable), todo o vermelho é convertido em azul. Na terceira vez que a imagem é desenhada (após a chamada para ImageAttributes::SetBrushRemapTable), todo o vermelho pintado com um pincel é convertido em verde e o restante do vermelho é convertido em azul. Na quarta vez que a imagem é desenhada (após a chamada para ImageAttributes::ClearBrushRemapTable), todo o vermelho pintado com um pincel permanece inalterado e o restante do vermelho é convertido em azul.


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

   Image image(L"TestMetafile4.emf");
   ImageAttributes imAtt;

   ColorMap defaultMap;
   defaultMap.oldColor = Color(255, 255, 0, 0);   // red converted to blue
   defaultMap.newColor = Color(255, 0, 0, 255);

   ColorMap brushMap;
   brushMap.oldColor = Color(255, 255, 0, 0);     // red converted to green
   brushMap.newColor = Color(255, 0, 255, 0);

   // Set the default color-remap table.
   imAtt.SetRemapTable(1, &defaultMap, ColorAdjustTypeDefault);

   // Draw the image (metafile) using no color adjustment.
   graphics.DrawImage(
      &image,
      Rect(10, 10, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),          // source rect
      UnitPixel);

   // Draw the image (metafile) using default color adjustment.
   // All red is converted to blue.
   graphics.DrawImage(
      &image,
      Rect(10, 90, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),          // source rect
      UnitPixel,
      &imAtt);

   // Set the brush remap table.
   imAtt.SetBrushRemapTable(1, &brushMap);

   // Draw the image (metafile) using default and brush adjustment.
   // Red painted with a brush is converted to green.
   // All other red is converted to blue (default).
   graphics.DrawImage(
      &image,
      Rect(10, 170, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),           // source rect
      UnitPixel,
      &imAtt);

   // Clear the brush remap table.
   imAtt.ClearBrushRemapTable();

   // Draw the image (metafile) using only default color adjustment.
   // Red painted with a brush gets no color adjustment.
   // All other red is converted to blue (default).
   graphics.DrawImage(
      &image,
      Rect(10, 250, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),           // source rect
      UnitPixel,
      &imAtt);  
}
				

O código anterior, juntamente com um arquivo específico, Testmetafile4.emf, produziu a saída a seguir. As reticências na coluna esquerda foram desenhadas com uma caneta e as reticências na coluna direita foram preenchidas com um pincel. Observe que a tabela de remapeamento padrão se aplica às reticências desenhadas com uma caneta. A tabela de remapeamento que se aplica às reticências preenchidas com um pincel varia de acordo com as chamadas ImageAttributes::SetBrushRemapTable e ImageAttributes::ClearBrushRemapTable .

Ilustração mostrando quatro reticências vazias; o primeiro é vermelho e o azul restante, depois quatro reticências preenchidas: vermelho, azul, verde e vermelho

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

ImageAttributes::SetBrushRemapTable

ImageAttributes::SetRemapTable

Metarquivo

Recolorir