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 |