共用方式為


PathGradientBrush::GetSurroundColors 方法 (gdipluspath.h)

PathGradientBrush::GetSurroundColors 方法會取得目前為此路徑漸層筆刷指定的周遭色彩。

語法

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

參數

[in] colors

類型: 色彩*

接收周圍色彩之陣列的指標。

[in, out] count

類型: INT*

輸入時所要求色彩數目的整數指標。 如果方法成功,這個參數會在輸出時接收擷取的色彩數目。 如果方法失敗,這個參數就不會收到值。

傳回值

類型: 狀態

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

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

備註

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

範例

下列範例會根據三點陣列所定義的三角形路徑,建立 PathGradientBrush 物件。 此程式代碼會呼叫PathGradientBrush::P athGradientBrush物件的 SetSurroundColors 方法,為每個定義三角形的點指定色彩。 PathGradientBrush::GetSurroundColorCount 方法會決定筆刷界限路徑) 所指定色彩 (目前的周圍色彩數目。 接下來,程式代碼會配置足以接收周圍色彩數位的緩衝區,並呼叫 PathGradientBrush::GetSurroundColors 來填滿該緩衝區。 最後,程式代碼會以每個筆刷的周圍色彩填滿小方塊。

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

   // Create a path gradient brush and set its surround colors.
   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);
   
   // Obtain information about the path gradient brush.
   INT colorCount = pthGrBrush.GetSurroundColorCount();
   Color* colors = new Color[colorCount];
   pthGrBrush.GetSurroundColors(colors, &colorCount);

   // Fill a small square with each of the surround colors.
   SolidBrush solidBrush(Color(255, 255, 255, 255));

   for(INT j = 0; j < colorCount; ++j)
   {
      solidBrush.SetColor(colors[j]);
      graphics.FillRectangle(&solidBrush, 15*j, 0, 10, 10);
   }

   delete [] colors;
}

規格需求

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

另請參閱

筆刷和填滿的圖形

色彩

建立路徑漸層

使用色彩漸層填滿圖形

PathGradientBrush

PathGradientBrush::GetSurroundColorCount

PathGradientBrush::SetSurroundColors