首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi GDI+ 學習筆記 (10):LinearGradientBrush 線性漸層筆刷

     編輯:Delphi

直線方向漸層:矩形/兩點定義、四大方向模式、自訂混合因子/位置

TGPLinearGradientBrush 沿直線方向插值顏色。可由矩形 + 方向模式、或兩端點 + 兩端色建立。SetBlend 以因子/位置陣列自訂非線性漸層曲線 (如階梯、S 型)。

1. 矩形 + 方向模式


lb := TGPLinearGradientBrush.Create(rect, aclBlue, aclGreen, LinearGradientModeHorizontal);
g.FillEllipse(lb, rect);

2. 兩端點 + 兩端色 (任意角度)


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);

3. 自訂漸層曲線 (因子/位置陣列)


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);

LinearGradientMode 四大方向

Delphi微軟方向
LinearGradientModeHorizontalHorizontal左→右
LinearGradientModeVerticalVertical上→下
LinearGradientModeForwardDiagonalForwardDiagonal左上→右下
LinearGradientModeBackwardDiagonalBackwardDiagonal右上→左下

線性漸層是 UI 背景、按鈕狀態、進度條、資料視覺化色標的標準工具。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved