Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Новая папка / Редактор / Unit1
.pas unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, StdCtrls, ExtCtrls, ExtDlgs, ColorGrd, Buttons;
type
TForm1 = class(TForm)
Image1: TImage;
ScrollBar1: TScrollBar;
ScrollBar2: TScrollBar;
ScrollBar3: TScrollBar;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
SpinEdit1: TSpinEdit;
Label4: TLabel;
SavePictureDialog1: TSavePictureDialog;
Button1: TButton;
Button2: TButton;
Button3: TButton;
ColorGrid: TColorGrid;
Bevel1: TBevel;
pnl_bg: TPanel;
pnl_fb: TPanel;
procedure ScrollBar1Change(Sender: TObject);
procedure ScrollBar2Change(Sender: TObject);
procedure ScrollBar3Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ColorGridChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
cvet:integer;
cvet2:integer;
implementation
{$R *.dfm}
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
cvet:=rgb(scrollbar1.Position, scrollbar2.Position,scrollbar3.Position);
edit1.Text:=inttostr(scrollbar1.Position);
end;
procedure TForm1.ScrollBar2Change(Sender: TObject);
begin
cvet:=rgb(scrollbar1.Position, scrollbar2.Position, scrollbar3.Position);
edit2.Text:=inttostr(scrollbar2.Position);
end;
procedure TForm1.ScrollBar3Change(Sender: TObject);
begin
cvet:=rgb(scrollbar1.Position, scrollbar2.Position, scrollbar3.Position);
edit3.Text:=inttostr(scrollbar3.Position);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit4.Color:=cvet;
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
image1.Canvas.Pen.Width:=spinedit1.value;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image1.Canvas.Pen.Color:=cvet;
image1.Canvas.brush.Color:=cvet;
if ssleft in shift then image1.canvas.lineto(x,y);
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
with image1.canvas do
case button of
mbleft:moveto(x,y);
mbright:floodfill(x,y,cvet,fsborder);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
with savepicturedialog1 do
if execute then
image1.Picture.SaveToFile(filename);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
image1.Canvas.Brush.Color:=clwhite;
end;
procedure TForm1.ColorGridChange(Sender: TObject);
begin
pnl_fb.Color:=ColorGrid.ForegroundColor;
pnl_bg.Color:=ColorGrid.BackgroundColor;
cvet:=pnl_fb.Color;
cvet2:=pnl_bg.Color;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, StdCtrls, ExtCtrls, ExtDlgs, ColorGrd, Buttons;
type
TForm1 = class(TForm)
Image1: TImage;
ScrollBar1: TScrollBar;
ScrollBar2: TScrollBar;
ScrollBar3: TScrollBar;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
SpinEdit1: TSpinEdit;
Label4: TLabel;
SavePictureDialog1: TSavePictureDialog;
Button1: TButton;
Button2: TButton;
Button3: TButton;
ColorGrid: TColorGrid;
Bevel1: TBevel;
pnl_bg: TPanel;
pnl_fb: TPanel;
procedure ScrollBar1Change(Sender: TObject);
procedure ScrollBar2Change(Sender: TObject);
procedure ScrollBar3Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ColorGridChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
cvet:integer;
cvet2:integer;
implementation
{$R *.dfm}
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
cvet:=rgb(scrollbar1.Position, scrollbar2.Position,scrollbar3.Position);
edit1.Text:=inttostr(scrollbar1.Position);
end;
procedure TForm1.ScrollBar2Change(Sender: TObject);
begin
cvet:=rgb(scrollbar1.Position, scrollbar2.Position, scrollbar3.Position);
edit2.Text:=inttostr(scrollbar2.Position);
end;
procedure TForm1.ScrollBar3Change(Sender: TObject);
begin
cvet:=rgb(scrollbar1.Position, scrollbar2.Position, scrollbar3.Position);
edit3.Text:=inttostr(scrollbar3.Position);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit4.Color:=cvet;
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
image1.Canvas.Pen.Width:=spinedit1.value;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image1.Canvas.Pen.Color:=cvet;
image1.Canvas.brush.Color:=cvet;
if ssleft in shift then image1.canvas.lineto(x,y);
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
with image1.canvas do
case button of
mbleft:moveto(x,y);
mbright:floodfill(x,y,cvet,fsborder);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
with savepicturedialog1 do
if execute then
image1.Picture.SaveToFile(filename);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
image1.Canvas.Brush.Color:=clwhite;
end;
procedure TForm1.ColorGridChange(Sender: TObject);
begin
pnl_fb.Color:=ColorGrid.ForegroundColor;
pnl_bg.Color:=ColorGrid.BackgroundColor;
cvet:=pnl_fb.Color;
cvet2:=pnl_bg.Color;
end;
end.