PathGradientBrush::SetSurroundColors 方法 (gdipluspath.h)

PathGradientBrush::SetSurroundColors方法會設定此路徑漸層筆刷的周圍色彩。 周遭色彩是針對筆刷界限路徑上離散點所指定的色彩。

語法

Status SetSurroundColors(
  [in]      const Color *colors,
  [in, out] INT         *count
);

參數

[in] colors

類型:const Color*

指定周圍色彩之 Color 物件的陣列指標。

[in, out] count

類型: INT*

輸入上指定color陣列中Color物件數目的整數指標。 如果方法成功,則這個參數會在輸出時接收已設定的周圍色彩數目。 如果方法失敗,這個參數就不會收到值。

傳回值

類型: 狀態

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

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

備註

路徑漸層筆刷具有界限路徑和中心點。 中心點會設定為單一色彩,但您可以為界限上的數個點指定不同的色彩。 例如,假設您為中心色彩指定紅色,並針對界限上的相異點指定藍色、綠色和黃色。 然後,當您沿著界限移動時,色彩會逐漸從藍色變更為綠色到黃色,然後回到藍色。 當您沿著直線從界限的任何點移至中心點時,色彩會從該界限點的色彩變更為紅色。

範例

下列範例會根據定義三角形路徑的三個點陣列,建立 PathGradientBrush 物件。 程式碼也會初始化三個 Color 物件的陣列。 對 PathGradientBrush::SetSurroundColors方法的呼叫會將色彩陣列中的每個色彩與點陣列中對應的 (相同索引) 點產生關聯。 設定路徑漸層筆刷的周圍色彩之後, Graphics::FillRectangle 方法會使用路徑漸層筆刷繪製包含三角形路徑的矩形。

轉譯三角形的其中一個邊緣會逐漸從紅色變更為綠色。 下一個邊緣會逐漸從綠色變更為黑色,而第三個邊緣會逐漸從黑色變更為紅色。 程式碼不會設定中心色彩,因此中心色彩的預設值為黑色。 當您沿著直線從界限路徑的任何點 (三角形) 移至中心點時,色彩會逐漸從該界限點的色彩變更為黑色。

VOID Example_SetSurColor(HDC hdc)
{
   Graphics graphics(hdc);

   Point pts[] = {
      Point(20, 20), 
      Point(100, 20), 
      Point(100, 100)};

   Color cols[] = {
      Color(255, 255, 0, 0),  // red
      Color(255, 0, 255, 0),  // green
      Color(255, 0, 0, 0)};   // black

   INT count = 3;
   PathGradientBrush pthGrBrush(pts, 3);
   pthGrBrush.SetSurroundColors(cols, &count);
   
   graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
}

需求

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

另請參閱

筆刷和填滿的圖形

Color

建立路徑漸層

使用色彩漸層填滿圖形

PathGradientBrush

PathGradientBrush::GetSurroundColorCount

PathGradientBrush::GetSurroundColors