Graphics::SetCompositingMode 方法 (gdiplusgraphics.h)
Graphics::SetCompositingMode方法會設定此Graphics物件的撰寫模式。
語法
Status SetCompositingMode(
[in] CompositingMode compositingMode
);
參數
[in] compositingMode
類型: CompositingMode
指定撰寫模式之 CompositingMode 列舉的 元素。
傳回值
類型: 狀態
如果方法成功,它會傳回 Ok,這是 Status 列舉的元素。
如果方法失敗,它會傳回 Status 列舉的其中一個其他元素。
備註
假設您根據色彩建立 SolidBrush 物件,該色彩的 Alpha 元件為 192,大約是 75% 的 255%。 如果您的 Graphics 物件將其組合模式設定為 CompositingModeSourceOver,則填滿純色筆刷的區域是 75% 筆刷色彩和 25% 背景色彩的混合。 如果您的 Graphics 物件將其組合模式設定為 CompositingModeSourceCopy,則背景色彩不會與筆刷色彩混合。 不過,筆刷轉譯的色彩具有 75% 的濃度,如果 Alpha 元件為 255,則為該色彩。
您無法搭配 TextRenderingHintClearTypeGridFit 使用 CompositingModeSourceCopy。
範例
下列範例會建立 Graphics 物件,並將其撰寫模式設定為 CompositingModeSourceOver。 程式碼會根據具有 Alpha 元件的色彩建立 SolidBrush 物件 128。 程式碼會將該筆刷的位址傳遞至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) |
程式庫 | Gdiplus.lib |
Dll | Gdiplus.dll |
另請參閱
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality