TGPLinearGradientBrush.Create(
rect: TGPRect; {线性渐变的界限}
color1, color2: TGPColor; {线性渐变起始色与终止色}
mode: TLinearGradientMode {渐变方向, 见下表}
);
TGPLinearGradientBrush.Create(
rect: TGPRectF;
color1, color2: TGPColor;
mode: TLinearGradientMode
);
This example effect chart:
Code files:Unit Unit1;
Interface
Uses
Windows, Messages, sysutils, variants, Classes, Graphics, Controls, Forms,
Dialogs, Stdctrls, Tecanvas;
Type
TForm1 = Class (Tform)
Combobox1:tcombobox;
Buttoncolor1:tbuttoncolor;
Buttoncolor2:tbuttoncolor;
Procedure Formcreate (Sender:tobject);
Procedure Formpaint (Sender:tobject);
Procedure Buttoncolor1click (Sender:tobject);
Procedure Buttoncolor2click (Sender:tobject);
Procedure Combobox1change (Sender:tobject);
End
Var
Form1:tform1;
Implementation
{$R *.DFM}
Uses Gdipobj, Gdipapi, Typinfo;
Procedure Tform1.formcreate (Sender:tobject);
Var
I:integer;
Begin
For I: = 0 to 3 do
COMBOBOX1.ITEMS.ADD (Getenumname (TypeInfo (Tlineargradientmode), i));
Combobox1.itemindex: = 1;
Buttoncolor1.caption: = ' color 1 ';
Buttoncolor2.caption: = ' color 2 ';
Buttoncolor1.symbolcolor: = Clyellow;
Buttoncolor2.symbolcolor: = clred;
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-120, ClientHeight-50);
C1: = Colorreftoargb (Buttoncolor1.symbolcolor);
C2: = Colorreftoargb (Buttoncolor2.symbolcolor);
LB: = Tgplineargradientbrush.create (R, C1, C2, Tlineargradientmode (Combobox1.itemindex));
G.fillellipse (LB, R);
Lb. Free;
G.free;
End
Procedure Tform1.buttoncolor1click (Sender:tobject);
Begin
Repaint;
End
Procedure Tform1.buttoncolor2click (Sender:tobject);
Begin
Repaint;
End
Procedure Tform1.combobox1change (Sender:tobject);
Begin
Repaint;
End
End.