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 |