共用方式為


LinearGradientBrush::SetBlendTriangularShape 方法 (gdiplusbrush.h)

LinearGradientBrush::SetBlendTriangularShape方法會設定此線性漸層筆刷的混合圖形,以根據三角形圖形建立自訂混合。

語法

Status SetBlendTriangularShape(
  [in] REAL focus,
  [in] REAL scale
);

參數

[in] focus

類型: REAL

指定結束色彩位置的實數。 此數位是界限線之間的距離百分比,而且必須介於 0.0 到 1.0 的範圍內。

[in] scale

類型: REAL

選擇性。 實數,指定漸層結束色彩的百分比,該色彩會在焦點位置與漸層的開始色彩混合。 這個數位必須介於 0.0 到 1.0 的範圍內。 預設值為 1.0,指定結束色彩為完整強度。

傳回值

類型: 狀態

如果方法成功,它會傳回 Ok,這是 Status 列舉的元素。

如果方法失敗,它會傳回 Status 列舉的其他其中一個專案。

備註

根據預設,色彩會從線性漸層筆刷起始界限的開始色彩 (色彩逐漸變更,) 線性漸層筆刷的結束色彩 (色彩,) 當您從開始界限移至結束界限時,) 結束色彩。 您可以使用 LinearGradientBrush::SetBlendTriangularShape 方法來自訂開始和結束色彩的位置和混合。

LinearGradientBrush::SetBlendTriangularShape方法會自訂混合,使其遵循三角形基底在漸層界限的極端三角形圖形。 在預設混合中,開始色彩位於線性漸層筆刷的起始界限,會在套用三角形形狀混合時,出現線上性漸層筆刷的開始和結束界限。 結束色彩的位置,在預設混合中位於結束界限,位於界限之間,而且是由焦點的值所決定。 換句話說,焦點會指定三角形尖峰的位置。 例如,焦點值為 0.5 會將尖峰置於開始和結束界限之間的一半。 結束色彩會出現在這個尖峰。

三角形混合中的結束色彩是漸層的預設混合開始色彩和預設混合結束色彩之間的遊戲百分比。 例如,假設線性漸層筆刷是以紅色做為起始色彩建構,而藍色則建構為結束色彩。 如果以小數位數值為 0.3 呼叫 LinearGradientBrush::SetBlendTriangularShape ,則三角形混合中的結束色彩是紅色與藍色 (70% 紅色、30% 藍色) 之間的色調。 小數位數 1.0 會產生 100% 藍色的結束色彩。

範例

下列範例會建立線性漸層筆刷、設定三角形混合,並使用筆刷填滿矩形。 兩次以上,程式碼會設定具有不同值的三角形混合,而且每次都會使用筆刷來填滿矩形。

VOID Example_SetBlendTri(HDC hdc)
{
   Graphics myGraphics(hdc);

   LinearGradientBrush linGrBrush(
      Point(0, 0),
      Point(500, 0),
      Color(255, 255, 0, 0),   // red
      Color(255, 0, 0, 255));  // blue

   linGrBrush.SetBlendTriangularShape(0.5f, 0.6f);
   myGraphics.FillRectangle(&linGrBrush, 0, 0, 500, 50);

   linGrBrush.SetBlendTriangularShape(0.5f, 0.8f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 75, 500, 50);

   linGrBrush.SetBlendTriangularShape(0.5f, 1.0f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 150, 500, 50);
}

需求

   
最低支援的用戶端 Windows XP、Windows 2000 Professional [僅限桌面應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 gdiplusbrush.h (包含 Gdiplus.h)
程式庫 Gdiplus.lib
Dll Gdiplus.dll

另請參閱

筆刷和填滿的圖形

建立線性漸層

使用色彩漸層填滿圖形

LinearGradientBrush \(英文\)

LinearGradientBrush::GetBlend

LinearGradientBrush::SetBlend

LinearGradientBrush::SetBlendBellShape