TGPLinearGradientBrush 沿直線方向插值顏色。可由矩形 + 方向模式、或兩端點 + 兩端色建立。SetBlend 以因子/位置陣列自訂非線性漸層曲線 (如階梯、S 型)。
lb := TGPLinearGradientBrush.Create(rect, aclBlue, aclGreen, LinearGradientModeHorizontal);
g.FillEllipse(lb, rect);
lb := TGPLinearGradientBrush.Create(p1, p2, c1, c2);
p := TGPPen.Create(lb, 10); // 筆刷作為畫筆紋理
g.DrawLine(p, 0, 0, 600, 300);
g.FillEllipse(lb, 10, 100, 200, 100);
Factors := [0.0, 0.5, 1.0]; // 色彩權重
Positions := [0.0, 0.2, 1.0]; // 相對位置
lb.SetBlend(@Factors, @Positions, 3);
g.FillEllipse(lb, 0, 30, 200, 100);
| Delphi | 微軟 | 方向 |
|---|---|---|
| LinearGradientModeHorizontal | Horizontal | 左→右 |
| LinearGradientModeVertical | Vertical | 上→下 |
| LinearGradientModeForwardDiagonal | ForwardDiagonal | 左上→右下 |
| LinearGradientModeBackwardDiagonal | BackwardDiagonal | 右上→左下 |
線性漸層是 UI 背景、按鈕狀態、進度條、資料視覺化色標的標準工具。