📄 cliplinedemomain.pas
字号:
unit ClipLineDemoMain;
{$I jcl.inc}
interface
uses
SysUtils, Types, Classes,
{$IFDEF MSWINDOWS}
Windows,
{$ENDIF}
{$IFDEF VisualCLX}
Qt, QGraphics, QControls, QForms, QStdCtrls, QExtCtrls, QTypes, JclQGraphUtils,
{$ENDIF VisualCLX}
{$IFDEF VCL}
Graphics, ExtCtrls, Forms, JclGraphUtils,
{$ENDIF VCL}
JclBase;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
R: TRect;
P: TPointArray;
FPenColor: TColor;
FPenColorLight: TColor;
procedure InitLines;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$IFDEF VisualCLX}
{$R *.xfm}
{$ELSE}
{$R *.dfm}
{$ENDIF}
procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
R.Left := 100;
R.Top := 100;
R.Right := 300;
R.Bottom := 300;
SetLength(P, 50);
InitLines;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Brush.Color := clWhite;
Canvas.FillRect(R);
Canvas.Pen.Color := FPenColorLight;
Canvas.PolyLine(P);
Canvas.Pen.Color := FPenColor;
DrawPolyLine(Canvas, P, R);
end;
procedure TForm1.InitLines;
var
i: Integer;
H, S, L: Single;
begin
for i := 0 to Length(P)-1 do
begin
P[i].X := Random(Width);
P[i].Y := Random(Height);
end;
H := Random;
S := Random;
L := 0.4 * Random;
FPenColor := WinColor(HSLToRGB(H, S, L));
FPenColorLight := WinColor(HSLToRGB(H, S, 1 - 0.2 * (1 - L)));
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
InitLines;
Refresh;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -