Método Graphics::GetCompositingMode (gdiplusgraphics.h)
El método Graphics::GetCompositingMode obtiene el modo de redacción establecido actualmente para este objeto Graphics .
Sintaxis
CompositingMode GetCompositingMode();
Valor devuelto
Tipo: CompositingMode
Este método devuelve un elemento de la enumeración CompositingMode que indica el modo de redacción establecido actualmente para este objeto Graphics .
Comentarios
Supongamos que crea un objeto SolidBrush basado en un color que tiene un componente alfa de 192, que es aproximadamente el 75 por ciento del 255. Si el objeto Graphics tiene su modo de redacción establecido en CompositingModeSourceOver, las áreas rellenas con el pincel sólido son una mezcla que tiene un color de pincel del 75 % y un color de fondo del 25 %. Si el objeto Graphics tiene su modo de composición establecido en CompositingModeSourceCopy, el color de fondo no se combina con el color del pincel. Sin embargo, el color representado por el pincel tiene una intensidad del 75 por ciento de lo que sería si el componente alfa fuera 255.
Ejemplos
En el ejemplo siguiente se crea un objeto Graphics y se establece su modo de composición en CompositingModeSourceCopy. El código crea un objeto SolidBrush basado en un color con un componente alfa de 128. El código pasa la dirección de ese pincel al método Graphics::FillRectangle del objeto Graphics para rellenar un rectángulo con un color que no se combina con el color de fondo. La llamada al método Graphics::GetCompositingMode del objeto Graphics muestra cómo obtener el modo de redacción (que ya se conoce en este caso). El código determina si el modo de redacción es CompositingModeSourceCopy y, si es así, lo cambia a CompositingModeSourceOver. A continuación, el código llama a Graphics::FillRectangle una segunda vez para rellenar un rectángulo con un color que es una mezcla media y media del color del pincel y el color de fondo.
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 | Value |
---|---|
Cliente mínimo compatible | Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | gdiplusgraphics.h (include Gdiplus.h) |
Library | Gdiplus.lib |
Archivo DLL | Gdiplus.dll |
Consulte también
Líneas y rellenos con mezcla alfa
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality
Usar el modo de composición para controlar la combinación alfa