共用方式為


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

另請參閱

Alpha 混色線條和填色

CompositingMode

圖形

Graphics::GetCompositingMode

Graphics::GetCompositingQuality

Graphics::SetCompositingQuality

Graphics::SetTextRenderingHint

HatchBrush

新功能

SolidBrush

TextRenderingHint