Graphics::GetCompositingMode 方法 (gdiplusgraphics.h)
Graphics::GetCompositingMode 方法會取得目前為此 Graphics 物件設定的撰寫模式。
Syntax
CompositingMode GetCompositingMode();
傳回值
類型: CompositingMode
這個方法會傳回 CompositingMode 列舉的專案,指出目前為此 Graphics 物件設定的撰寫模式。
備註
假設您根據色彩建立 SolidBrush 物件,該色彩的 Alpha 元件為 192,大約是 75% 的 255%。 如果您的 Graphics 物件將其組合模式設定為 CompositingModeSourceOver,則填滿純色筆刷的區域是 75% 筆刷色彩和 25% 背景色彩的混合。 如果您的 Graphics 物件將其組合模式設定為 CompositingModeSourceCopy,則背景色彩不會與筆刷色彩混合。 不過,筆刷轉譯的色彩具有 75% 的濃度,如果 Alpha 元件為 255,則為該色彩。
範例
下列範例會建立 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) |
程式庫 | Gdiplus.lib |
Dll | Gdiplus.dll |
另請參閱
Graphics::GetCompositingQuality