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

O método Graphics::GetCompositingMode obtém o modo de composição atualmente definido para este objeto Graphics .

Sintaxe

CompositingMode GetCompositingMode();

Retornar valor

Tipo: CompositingMode

Esse método retorna um elemento da enumeração CompositingMode que indica o modo de composição atualmente definido para este objeto Graphics .

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.

Exemplos

O exemplo a seguir cria um objeto Graphics e define seu modo de composição como CompositingModeSourceCopy. O código cria um objeto SolidBrush baseado em uma cor com 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 não é combinada com a cor da tela de fundo. A chamada para o método Graphics::GetCompositingMode do objeto Graphics demonstra como obter o modo de composição (que já é conhecido nesse caso). O código determina se o modo de composição é CompositingModeSourceCopy e, em caso afirmativo, o altera para CompositingModeSourceOver. Em seguida, o código chama Graphics::FillRectangle uma segunda vez para preencher um retângulo com uma cor que é uma mistura meio e meio da cor do pincel e da cor da tela de fundo.

VOID Example_GetCompositingMode(HDC hdc)
{
   Graphics graphics(hdc);
   
   graphics.SetCompositingMode(CompositingModeSourceCopy);
   SolidBrush alphaBrush(Color(128, 255, 0, 0));
   graphics.FillRectangle(&alphaBrush, 0, 0, 100, 100);
   
   // Get the compositing mode.
   CompositingMode compMode = graphics.GetCompositingMode();
   
   // Change the compositing mode if it is CompositingModeSourceCopy.
   if(compMode == CompositingModeSourceCopy)
   {
      graphics.SetCompositingMode(CompositingModeSourceOver);
   }  
  
   graphics.FillRectangle(&alphaBrush, 0, 100, 100, 100);
}

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

Confira também

Combinação alfa em linhas e preenchimentos

Elementos gráficos

Graphics::GetCompositingQuality

Graphics::SetCompositingMode

Graphics::SetCompositingQuality

Hatchbrush

Novos recursos

Solidbrush

Usando o modo de composição para controlar a combinação alfa