共用方式為


使用不透明和半透明筆刷繪製

當您填滿圖形時,必須將 Brush 對象的位址傳遞至 Graphics 類別的其中一個填滿方法。 SolidBrush 建構函式的其中一個參數是 Color物件。 若要填滿不透明圖案,請將色彩的 Alpha 元件設定為 255。 若要填滿半透明圖形,請將Alpha元件設定為1到254的任何值。

當您填滿半透明圖形時,圖形的色彩會與背景的色彩混合。 Alpha元件會指定圖形和背景色彩的混合方式;接近 0 的 Alpha 值會增加背景色彩的加權,而接近 255 的 Alpha 值則比較重重圖形色彩。

下列範例會先繪製一個影像,然後填滿三個與影像重疊的橢圓形。 第一個橢圓形使用 255 的 Alpha 元件,因此不透明。 第二個和第三個省略號使用 128 的 Alpha 元件,因此它們是半透明;您可以透過省略號查看背景影像。 呼叫 Graphics::SetCompositingQuality 會導致第三個省略號與伽瑪修正一起進行混合。

Image image(L"Texture1.jpg");
graphics.DrawImage(&image, 50, 50, image.GetWidth(), image.GetHeight());
SolidBrush opaqueBrush(Color(255, 0, 0, 255));
SolidBrush semiTransBrush(Color(128, 0, 0, 255));
graphics.FillEllipse(&opaqueBrush, 35, 45, 45, 30);
graphics.FillEllipse(&semiTransBrush, 86, 45, 45, 30);
graphics.SetCompositingQuality(CompositingQualityGammaCorrected);
graphics.FillEllipse(&semiTransBrush, 40, 90, 86, 30);

下圖顯示上述程式代碼的輸出。

圖顯示由三個省略號覆蓋的圖像:一個不透明,一個稍微透明,一個非常透明