TGPLinearGradientBrush.Create(
rect: TGPRect; {变化范围}
color1, color2: TGPColor; {起始色与终止色}
angle: Single; {旋转角度}
isAngleScalable: BOOL = FALSE {是否受 TLinearGradientMode 的影响, 可选值, 默认不 受影响}
);
TGPLinearGradientBrush.Create(
rect: TGPRectF;
color1, color2: TGPColor;
angle: Single;
isAngleScalable: BOOL = FALSE
);
This example effect chart:
Code files:Unit Unit1;
Interface
Uses
Windows, Messages, sysutils, variants, Classes, Graphics, Controls, Forms,
Dialogs, Stdctrls, Tecanvas, Extctrls, Comctrls;
Type
TForm1 = Class (Tform)
Buttoncolor1:tbuttoncolor;
Buttoncolor2:tbuttoncolor;
Trackbar1:ttrackbar;
Procedure Formcreate (Sender:tobject);
Procedure Formpaint (Sender:tobject);
Procedure Trackbar1change (Sender:tobject);
Procedure Buttoncolor1click (Sender:tobject);
Procedure Buttoncolor2click (Sender:tobject);
End
Var
Form1:tform1;
Implementation
{$R *.DFM}
Uses Gdipobj, Gdipapi, Typinfo;
Procedure Tform1.formcreate (Sender:tobject);
Begin
Buttoncolor1.caption: = ' color 1 ';
Buttoncolor2.caption: = ' color 2 ';
Buttoncolor1.symbolcolor: = Cllime;
Buttoncolor2.symbolcolor: = Clblack;
Trackbar1.showselrange: = False;
Trackbar1.min: = 0;
Trackbar1.max: = 360;
End
Procedure Tform1.formpaint (Sender:tobject);
Var
G:tgpgraphics;
Lb:tgplineargradientbrush;
C1,c2:tgpcolor;
R:tgprect;
Begin
G: = Tgpgraphics.create (Canvas.handle);
r: = Makerect (n, ClientWidth-40, ClientHeight-50);
C1: = Colorreftoargb (Buttoncolor1.symbolcolor);
C2: = Colorreftoargb (Buttoncolor2.symbolcolor);
LB: = Tgplineargradientbrush.create (R, C1, C2, trackbar1.position);
G.fillellipse (LB, R);
Lb. Free;
G.free;
End
Procedure Tform1.trackbar1change (Sender:tobject);
Begin
Repaint;
End
Procedure Tform1.buttoncolor1click (Sender:tobject);
Begin
Repaint;
End
Procedure Tform1.buttoncolor2click (Sender:tobject);
Begin
Repaint;
End
End.