測試效果圖:
測試代碼:
uses GdiPlus, GdiPlusHelpers;
procedure TForm1.FormPaint(Sender: TObject);
const
C1 = $FF000000 ;
C2 = $FFFF0000;
C3 = $FFFFFF00;
C4 = $FFFF0000;
C5 = $FF000000;
var
Brush: IGPPathGradIEntBrush;
Rect: TGPRect;
Path: IGPGraphicsPath;
ColorBlend: IGPColorBlend;
begin
Rect.Initialize(10, 10, 180, 100);
Path := TGPGraphicsPath.Create;
Path.AddEllipse(Rect);
Brush := TGPPathGradIEntBrush.Create(Path);
ColorBlend := TGPColorBlend.Create([C1, C2, C3, C4, C5], [0, 0.25, 0.5, 0.75, 1]);
Brush.InterpolationColors := ColorBlend;
Canvas.ToGPGraphics.FillEllipse(Brush, Rect);
end;