Graphics::SetCompositingMode 方法 (gdiplusgraphics.h)
Graphics::SetCompositingMode 方法设置此 Graphics 对象的合成模式。
语法
Status SetCompositingMode(
[in] CompositingMode compositingMode
);
parameters
[in] compositingMode
类型: CompositingMode
CompositingMode 枚举的元素,该枚举指定合成模式。
返回值
类型: 状态
如果方法成功,则返回 Ok,这是 Status 枚举的元素。
如果 方法失败,它将返回 Status 枚举的其他元素之一。
注解
假设基于 alpha 分量为 192 的颜色创建 一个 SolidBrush 对象,该颜色约占 255 的 75%。 如果 Graphics 对象的合成模式设置为 CompositingModeSourceOver,则填充纯色画笔的区域是 75% 画笔颜色和 25% 背景色的混合。 如果 Graphics 对象的合成模式设置为 CompositingModeSourceCopy,则背景色不会与画笔颜色混合。 但是,如果 alpha 分量为 255,则画笔呈现的颜色的强度为 75%。
不能将 CompositingModeSourceCopy 与 TextRenderingHintClearTypeGridFit 一起使用。
示例
以下示例创建 一个 Graphics 对象,并将其合成模式设置为 CompositingModeSourceOver。 该代码基于 alpha 分量为 128 的颜色创建 SolidBrush 对象。 代码将该画笔的地址传递给 Graphics 对象的 Graphics::FillRectangle 方法,以填充矩形的颜色,该颜色是画笔颜色和背景色的半混合。 然后,代码将 Graphics 对象的合成模式设置为 CompositingModeSourceCopy,并使用相同的画笔填充第二个矩形。 在这第二个矩形中,画笔颜色不与背景色混合。
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);
}
要求
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdiplusgraphics.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |
另请参阅
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality