Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ExtCtrls, Menus, ColorGrd, ComCtrls, ToolWin, StdCtrls, Spin,
- Buttons, XPMan, ExtDlgs;
- type
- TForm1 = class(TForm)
- MainMenu1: TMainMenu;
- N1: TMenuItem;
- N2: TMenuItem;
- N3: TMenuItem;
- N4: TMenuItem;
- N5: TMenuItem;
- N6: TMenuItem;
- N7: TMenuItem;
- N8: TMenuItem;
- N9: TMenuItem;
- ColorDialog1: TColorDialog;
- ScrollBox1: TScrollBox;
- ToolBar1: TToolBar;
- SpeedButton1: TSpeedButton;
- SpeedButton2: TSpeedButton;
- SpeedButton3: TSpeedButton;
- SpeedButton4: TSpeedButton;
- SpeedButton5: TSpeedButton;
- SpeedButton6: TSpeedButton;
- SpinEdit1: TSpinEdit;
- SpeedButton7: TSpeedButton;
- XPManifest1: TXPManifest;
- SavePictureDialog1: TSavePictureDialog;
- OpenPictureDialog1: TOpenPictureDialog;
- N10: TMenuItem;
- Image1: TImage;
- procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
- procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- procedure SpinEdit1Change(Sender: TObject);
- procedure N8Click(Sender: TObject);
- procedure N3Click(Sender: TObject);
- procedure N4Click(Sender: TObject);
- procedure SpeedButton7Click(Sender: TObject);
- procedure N2Click(Sender: TObject);
- procedure N5Click(Sender: TObject);
- procedure N10Click(Sender: TObject);
- procedure N11Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- r:boolean;
- x0,y0,x2,y2:integer;
- fname:string;
- c:tcolor;
- implementation
- uses Unit2;
- {$R *.dfm}
- procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
- Y: Integer);
- begin
- if r then
- begin
- if speedbutton1.Down then
- begin
- image1.Canvas.Pen.Color:=colordialog1.Color;
- Image1.Canvas.LineTo(x, y);
- end;
- if speedbutton3.Down then
- begin
- image1.Canvas.Pen.Color:=clwhite;
- image1.Canvas.Pen.Width:=spinedit1.Value;
- Image1.Canvas.LineTo(x, y);
- end;
- if speedbutton4.Down then
- begin
- image1.Canvas.MoveTo(x0, y0);
- Image1.Canvas.LineTo(x2,y2);
- Image1.Canvas.MoveTo(x0, y0);
- Image1.Canvas.LineTo(x,y);
- x2 := x; y2 :=y;
- end;
- if speedbutton5.Down then
- begin
- image1.Canvas.Rectangle(x0, y0, x2, y2);
- Image1.Canvas.Rectangle(x0, y0,x, y);
- x2 := x; y2 :=y;
- end;
- if speedbutton6.Down then
- begin
- image1.Canvas.Ellipse(x0, y0, x2, y2);
- Image1.Canvas.Ellipse(x0, y0,x, y);
- x2 := x; y2 :=y;
- end;
- end;
- end;
- procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- begin
- r:=true;
- if speedbutton1.Down then
- Image1.Canvas.MoveTo(x, y);
- if speedbutton3.Down then
- Image1.Canvas.MoveTo(x, y);
- if speedbutton4.Down then
- begin
- x0 := x; y0 := y;
- x2:=x; y2:=y;
- Image1.Canvas.Pen.Mode:=PmNotXor;
- end;
- if speedbutton5.Down then
- begin
- x0 := x; y0 := y;
- x2:=x; y2:=y;
- Image1.Canvas.Pen.Mode:=PmNotXor;
- end;
- if speedbutton6.Down then
- begin
- x0 := x; y0 := y;
- x2:=x; y2:=y;
- Image1.Canvas.Pen.Mode:=PmNotXor;
- end;
- end;
- procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer);
- begin
- if speedbutton1.Down then
- Image1.Canvas.LineTo(x, y);
- if speedbutton3.Down then
- Image1.Canvas.LineTo(x, y);
- r:=false;
- if speedbutton4.Down then
- begin
- Image1.Canvas.Pen.Mode:=PmCopy;
- image1.Canvas.MoveTo(x0, y0);
- Image1.Canvas.LineTo(x2,y2);
- Image1.Canvas.MoveTo(x0, y0);
- Image1.Canvas.LineTo(x,y);
- end;
- if speedbutton5.Down then
- begin
- Image1.Canvas.Pen.Mode:=PmCopy;
- image1.Canvas.Rectangle(x0, y0, x2, y2);
- Image1.Canvas.Rectangle(x0, y0, x, y);
- end;
- if speedbutton6.Down then
- begin
- Image1.Canvas.Pen.Mode:=PmCopy;
- image1.Canvas.Ellipse(x0, y0, x2, y2);
- Image1.Canvas.Ellipse(x0, y0, x, y);
- end;
- if speedbutton2.Down then
- begin
- c:=image1.canvas.Pixels[x,y];
- image1.Canvas.FloodFill(x,y,c,fssurface);
- end;
- end;
- procedure TForm1.SpinEdit1Change(Sender: TObject);
- begin
- Image1.Canvas.Pen.Width := SpinEdit1.Value;
- end;
- procedure TForm1.N8Click(Sender: TObject);
- begin
- image1.Canvas.Pen.Width:=1;
- image1.Canvas.Brush.Color:=clwhite;
- image1.Canvas.Rectangle(-5,-5,image1.Width+5,image1.Height+5);
- end;
- procedure TForm1.N3Click(Sender: TObject);
- begin
- if openpicturedialog1.Execute then
- If OpenpictureDialog1.Filename<>'' Then
- begin
- Image1.Picture.Bitmap.LoadFromFile(OpenPictureDialog1.FileName);
- Form1.Caption:=(OpenpictureDialog1.Filename+' — Picture Editor');
- end;
- end;
- procedure TForm1.N4Click(Sender: TObject);
- begin
- if savepicturedialog1.Execute then
- If savepictureDialog1.Filename<>'' Then
- begin
- Image1.Picture.Bitmap.SaveToFile(savePictureDialog1.FileName);
- Form1.Caption:=(savepictureDialog1.Filename+' — Picture Editor');
- end;
- end;
- procedure TForm1.SpeedButton7Click(Sender: TObject);
- begin
- colordialog1.Execute;
- image1.Canvas.Pen.Color:= colordialog1.Color;
- image1.Canvas.Brush.Color:= colordialog1.Color;
- end;
- procedure TForm1.N2Click(Sender: TObject);
- begin
- image1.Canvas.Brush.Color:=clwhite;
- image1.Canvas.Rectangle(-5,-5,image1.Width+5,image1.Height+5);
- Form1.Caption:=(' Новый файл '+' — Графический редактор');
- image1.Canvas.Pen.Color:=clblack;
- end;
- procedure TForm1.N5Click(Sender: TObject);
- begin
- form1.Close
- end;
- procedure TForm1.N10Click(Sender: TObject);
- begin
- form2.ShowModal
- end;
- procedure TForm1.N11Click(Sender: TObject);
- begin
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement