Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
- ExtCtrls, Spin, ColorBox;
- type
- { TForm1 }
- TForm1 = class(TForm)
- btnClean: TButton;
- bcolor: TColorButton;
- Button1: TButton;
- Button2: TButton;
- Image1: TImage;
- bsize: TSpinEdit;
- procedure btnCleanClick(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer
- );
- private
- { private declarations }
- public
- { public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.lfm}
- { TForm1 }
- procedure TForm1.btnCleanClick(Sender: TObject);
- begin
- Image1.Canvas.Clear;
- Image1.Canvas.Pen.Color:=clBlack;
- Image1.Canvas.Brush.Color:=clWhite;
- end;
- //Vytvoríme si plátno
- //Vytvoríme event: MouseDown a MouseMove pre plátno
- //Do eventu MouseDown "naprogramujeme" začiatok kreslenia
- //Do eventu MouseMove naprogramujeme samotné kreslenie a mazanie a ďalšie nastavenia
- procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- begin
- Image1.Canvas.MoveTo(X,Y); //Po kliknutí na plátno "kurzor" skočí na naše zvolené miesto X,Y
- end;
- procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
- begin
- Image1.Canvas.Pen.Width:=bsize.Value; //Nastavenie veľkosti písma
- Image1.Canvas.Pen.Color:=bcolor.Buttoncolor; //Nastavenie farby písma
- if Shift = [ssLeft] then Image1.Canvas.LineTo(X,Y); //ak je ľavé tlačidlo na myši stisknuté tak sa začne kresliť
- if Shift = [ssRight] then //ak je pravé tlačidlo na myši stisknuté tak sa začne mazať
- begin
- Image1.Canvas.Pen.Color:=clWhite; //Farba gumy. logicky biela. Ak máte pozadie inej farby tak nezadavajte bielu
- Image1.Canvas.Ellipse(X+5,Y+5,X-5,Y-5); //Vytvorenie kruhu pomocou ktorého budeme mazať
- end;
- end;
- procedure TForm1.Button1Click(Sender: TObject);//Prvý spôsob polygonu
- begin
- Image1.Canvas.Clear; //Vyčistí plátno
- Image1.Canvas.Pen.Color:=clBlue; //Nastaví farbu pera na modrú
- Image1.Canvas.Pen.Width:=5; //Nastaví hrúbku pera na 5
- Image1.Canvas.Brush.Color:=clGreen; //Nastaví výplň objektu na zelenú
- Image1.Canvas.Polygon([Point(Image1.Width div 2,0),Point(0,Image1.Height-1),Point(Image1.Width,Image1.Height-1)]);
- Image1.Canvas.Pen.Color:=clBlack; //Resetovanie
- Image1.Canvas.Brush.Color:=clWhite; //Resetovanie
- Image1.Canvas.Pen.Width:=1; //Resetovanie
- end;
- procedure TForm1.Button2Click(Sender: TObject);//Druhý spôsob polygonu
- var Bod: array of TPoint; //Definícia poľa
- begin
- Image1.Canvas.Clear; //Vyčistí plátno
- Image1.Canvas.Pen.Color:=clBlue; //Nastaví farbu pera na modrú
- Image1.Canvas.Pen.Width:=5; //Nastaví hrúbku pera na 5
- Image1.Canvas.Brush.Color:=clGreen; //Nastaví výplň objektu na zelenú
- SetLength(bod, 3); //Nastavenie veľkosti poľa
- bod[0]:=Point(Image1.Width div 2, 0);
- bod[1]:=Point(0, Image1.Height-1);
- bod[2]:=Point(Image1.Width, Image1.Height-1);
- Image1.Canvas.Polygon(bod);
- Image1.Canvas.Pen.Color:=clBlack; //Resetovanie
- Image1.Canvas.Brush.Color:=clWhite; //Resetovanie
- Image1.Canvas.Pen.Width:=1; //Resetovanie
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment