unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
btnShow: TButton;
btnCreate: TButton;
btnClear: TButton;
btnWhite: TButton;
btnCircle: TButton;
btnSquare: TButton;
procedure btnCircleClick(Sender: TObject);
procedure btnClearClick(Sender: TObject);
procedure btnCreateClick(Sender: TObject);
procedure btnShowClick(Sender: TObject);
procedure btnSquareClick(Sender: TObject);
procedure btnWhiteClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FBitmap: TBitmap;
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
FBitmap := nil;
end;
procedure TForm1.btnCircleClick(Sender: TObject);
const
D = 30;
var
X, Y: Integer;
begin
if not(Assigned(FBitmap)) then
begin
ShowMessage('Please create the bitmap first.');
Exit;
end;
X := Random(FBitmap.Width - D);
Y := Random(FBitmap.Height - D);
FBitmap.Canvas.Brush.Color := Random($FFFFFF);
FBitmap.Canvas.Ellipse(X, Y, X+D, Y+D);
end;
procedure TForm1.btnClearClick(Sender: TObject);
begin
if not(Assigned(FBitmap)) then
begin
ShowMessage('Please create the bitmap first.');
Exit;
end;
FBitmap.Canvas.Brush.Color := clBlack;
FBitmap.Canvas.Clear;
end;
procedure TForm1.btnShowClick(Sender: TObject);
begin
if not(Assigned(FBitmap)) then
begin
ShowMessage('The bitmap has not created yet.');
Exit;
end;
Canvas.Draw(10, 10, FBitmap)
end;
procedure TForm1.btnSquareClick(Sender: TObject);
const
S = 30;
var
X, Y: Integer;
begin
if not(Assigned(FBitmap)) then
begin
ShowMessage('Please create the bitmap first.');
Exit;
end;
X := Random(FBitmap.Width - S);
Y := Random(FBitmap.Height - S);
FBitmap.Canvas.Brush.Color := Random($FFFFFF);
FBitmap.Canvas.Rectangle(X, Y, X+S, Y+S);
end;
procedure TForm1.btnWhiteClick(Sender: TObject);
begin
if not(Assigned(FBitmap)) then
begin
ShowMessage('Please create the bitmap first.');
Exit;
end;
FBitmap.Canvas.Brush.Color := clWhite;
FBitmap.Canvas.Rectangle(0, 0, FBitmap.Width, FBitmap.Height);
end;
procedure TForm1.btnCreateClick(Sender: TObject);
begin
if Assigned(FBitmap) then
begin
ShowMessage('The bitmap has been created.');
Exit;
end;
FBitmap := TBitmap.Create;
FBitmap.Height := 100;
FBitmap.Width := 200;
end;
end.