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
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality
Usando o modo de composição para controlar a combinação alfa