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
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality