Compartilhar via


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

O método ImageAttributes::ClearNoOp limpa a configuração NoOp para uma categoria especificada.

Sintaxe

Status ClearNoOp(
  [in, optional] ColorAdjustType type
);

Parâmetros

[in, optional] type

Tipo: ColorAdjustType

Elemento da enumeração ColorAdjustType que especifica a categoria para a qual a configuração NoOp está desmarcada. O valor padrão é ColorAdjustTypeDefault.

Retornar valor

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

Você pode desabilitar o ajuste de cor para um determinado tipo de objeto chamando o método ImageAttributes::SetNoOp . Posteriormente, você pode restabelecer o ajuste de cor para esse tipo de objeto chamando o método ImageAttributes::ClearNoOp . Por exemplo, a seguinte instrução desabilita o ajuste de cor para pincéis:

myImageAttributes.SetNoOp(ColorAdjustTypeBrush);

A instrução a seguir restabelece o ajuste de cor do pincel que estava em vigor antes da chamada para ImageAttributes::SetNoOp:

myImageAttributes.ClearNoOp(ColorAdjustTypeBrush);

Exemplos

O exemplo a seguir cria um objeto Image de um arquivo .emf. O código também cria um objeto ImageAttributes . A chamada ImageAttributes::SetColorMatrix define a matriz de ajuste de cor do pincel desse objeto ImageAttributes como uma matriz que converte vermelho em verde.

O código chama DrawImage três vezes, cada vez passando o endereço do objeto Image e o endereço do objeto ImageAttributes . Quando a imagem é desenhada pela primeira vez, todo o vermelho pintado por pincéis é convertido em verde. (O vermelho desenhado por canetas não é alterado.) Antes que a imagem seja desenhada pela segunda vez, o código chama o método ImageAttributes::SetNoOp do objeto ImageAttributes . Portanto, quando a imagem é desenhada pela segunda vez, nenhum ajuste de cor é aplicado aos pincéis. Antes que a imagem seja desenhada pela terceira vez, o código chama o método ImageAttributes::ClearNoOp , que restabelece as configurações de ajuste de cor do pincel. Portanto, quando a imagem é desenhada pela terceira vez, todo o vermelho pintado por pincéis é convertido em verde.


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

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

    ColorMatrix brushMatrix = {     // red converted to green
      0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
      0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
      0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
      0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
      0.0f, 0.0f, 0.0f, 0.0f, 1.0f};

   imAtt.SetColorMatrix(
      &brushMatrix, 
      ColorMatrixFlagsDefault, 
      ColorAdjustTypeBrush);

   // Draw the image (metafile) using brush color adjustment.
   // Items filled with a brush change from red to green.
   graphics.DrawImage(
      &image,
      Rect(0, 0, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),        // source rect
      UnitPixel,
      &imAtt);

   // Temporarily disable brush color adjustment.
   imAtt.SetNoOp(ColorAdjustTypeBrush);

   // Draw the image (metafile) without brush color adjustment.
   // There is no change from red to green.
   graphics.DrawImage(
      &image,
      Rect(0, 80, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),          // source rect
      UnitPixel,
      &imAtt);

   // Reinstate brush color adjustment.
   imAtt.ClearNoOp(ColorAdjustTypeBrush);

   // Draw the image (metafile) using brush color adjustment.
   // Items filled with a brush change from red to green.
   graphics.DrawImage(
      &image,
      Rect(0, 160, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),          // source rect
      UnitPixel,
      &imAtt);
}
				

Requisitos

Requisito Valor
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

Coloradjusttype

Imagem

Imageattributes

ImageAttributes::Reset

ImageAttributes::SetNoOp

ImageAttributes::SetToIdentity

Metarquivo

Recolorir