Método Graphics::SetCompositingMode (gdiplusgraphics.h)

O método Graphics::SetCompositingMode define o modo de composição deste objeto Graphics .

Sintaxe

Status SetCompositingMode(
  [in] CompositingMode compositingMode
);

Parâmetros

[in] compositingMode

Tipo: CompositingMode

Elemento da enumeração CompositingMode que especifica o modo de composição.

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

Suponha que você crie um objeto SolidBrush com base em uma cor que tenha um componente alfa de 192, que é cerca de 75% de 255. Se o objeto Graphics tiver seu modo de composição definido como CompositingModeSourceOver, as áreas preenchidas com o pincel sólido serão uma combinação de 75% de cor de pincel e 25% de cor da tela de fundo. Se o objeto Graphics tiver seu modo de composição definido como CompositingModeSourceCopy, a cor da tela de fundo não será combinada com a cor do pincel. No entanto, a cor renderizada pelo pincel tem uma intensidade que é 75% do que seria se o componente alfa fosse 255.

Não é possível usar CompositingModeSourceCopy junto com TextRenderingHintClearTypeGridFit.

Exemplos

O exemplo a seguir cria um objeto Graphics e define seu modo de composição como CompositingModeSourceOver. O código cria um objeto SolidBrush com base em uma cor que tem um componente alfa de 128. O código passa o endereço desse pincel para o método Graphics::FillRectangle do objeto Graphics para preencher um retângulo com uma cor que é uma mistura de meia e meia da cor do pincel e da cor da tela de fundo. Em seguida, o código define o modo de composição do objeto Graphics como CompositingModeSourceCopy e preenche um segundo retângulo com o mesmo pincel. Nesse segundo retângulo, a cor do pincel não é combinada com a cor da tela de fundo.

VOID Example_SetCompositingMode(HDC hdc)
{
   Graphics graphics(hdc);
   
   // Create a SolidBrush object with an alpha-blended color.
   SolidBrush alphaBrush(Color(180, 255, 0, 0));

   // Set the compositing mode to CompositingModeSourceOver,
   // and fill a rectangle.
   graphics.SetCompositingMode(CompositingModeSourceOver);
   graphics.FillRectangle(&alphaBrush, 0, 0, 100, 100);

   // Set the compositing mode to CompositingModeSourceCopy,
   // and fill a rectangle.
   graphics.SetCompositingMode(CompositingModeSourceCopy);
   graphics.FillRectangle(&alphaBrush, 100, 0, 100, 100);
}

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 gdiplusgraphics.h (inclua Gdiplus.h)
Biblioteca Gdiplus.lib
DLL Gdiplus.dll

Confira também

Combinação alfa em linhas e preenchimentos

Compositingmode

Elementos gráficos

Graphics::GetCompositingMode

Graphics::GetCompositingQuality

Graphics::SetCompositingQuality

Graphics::SetTextRenderingHint

Hatchbrush

Novos recursos

Solidbrush

Textrenderinghint