Graphics::GetCompositingMode 方法 (gdiplusgraphics.h)
Graphics::GetCompositingMode 方法获取当前为此 Graphics 对象设置的合成模式。
语法
CompositingMode GetCompositingMode();
返回值
类型: CompositingMode
此方法返回 CompositingMode 枚举的元素,该元素指示当前为此 Graphics 对象设置的合成模式。
注解
假设创建一个 SolidBrush 对象,该颜色的 alpha 分量为 192,大约为 255% 的 75%。 如果 Graphics 对象的合成模式设置为 CompositingModeSourceOver,则用纯色画笔填充的区域是 75% 画笔颜色和 25% 背景色的混合。 如果 Graphics 对象的合成模式设置为 CompositingModeSourceCopy,则背景色不会与画笔颜色混合。 但是,画笔呈现的颜色的强度是 alpha 分量为 255 时所呈现颜色的 75%。
示例
以下示例创建 一个 Graphics 对象,并将其合成模式设置为 CompositingModeSourceCopy。 该代码基于 alpha 分量为 128 的颜色创建 SolidBrush 对象。 代码将该画笔的地址传递给 Graphics 对象的 Graphics::FillRectangle 方法,以使用不与背景色混合的颜色填充矩形。 调用 Graphics 对象的 Graphics::GetCompositingMode 方法演示了如何获取合成模式 (在本例中已知) 。 代码确定合成模式是否为 CompositingModeSourceCopy,如果是,请将其更改为 CompositingModeSourceOver。 然后,代码再次调用 Graphics::FillRectangle ,以使用画笔颜色和背景色的半混合颜色填充矩形。
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);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdiplusgraphics.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |
另请参阅
Graphics::GetCompositingQuality