unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtDlgs, ExtCtrls, StdCtrls, Tabs, ToolWin, ComCtrls, Buttons, JpgImg; type TForm1 = class(TForm) SelectRam: TBevel; Timer1: TTimer; PopupMenu1: TPopupMenu; SaveImage: TMenuItem; LoadImage: TMenuItem; Avsluta: TMenuItem; OpenDialog1: TOpenDialog; ScrollBox1: TScrollBox; JPEGImage1: TJPEGImage; Label4: TLabel; Label3: TLabel; Label1: TLabel; procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Timer1Timer(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure AvslutaClick(Sender: TObject); procedure LoadImageClick(Sender: TObject); procedure JPEGImage1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; ziX,ziY:Integer; implementation uses Unit2; {$R *.DFM} procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); Var addX,addY:Integer; begin SelectRam.Left:=X-95; SelectRam.Top:=Y-50; For addX:=1 to 95 do Begin For addY:=1 to 67 do Begin Form1.Caption:=IntToStr(X); Form2.Image1.Canvas.Pixels[X+addX, Y+addY] := Form1.JPEGImage1.Canvas.Pixels[X+addX,Y+addY]; End; End; Form2.Image1.Refresh; end; procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); Var addX,addY:Integer; begin SelectRam.Left:=X-95; SelectRam.Top:=Y-50; ziY:=Y-33; ziX:=X-49; For addX:=1 to 95 do Begin For addY:=1 to 67 do Begin Form2.Image1.Canvas.Pixels[addX, addY] := Form1.JPEGImage1.Canvas.Pixels[ziX+addX,ziY+addY]; End; End; end;{procedure TForm1.Image1MouseMove} procedure TForm1.Timer1Timer(Sender: TObject); var W: Word; begin Form2.Visible:=True; for W := 10 to 200 do Begin Form2.Image1.Canvas.Pixels[W, 10] := clRed; end; Timer1.Enabled:=False; end;{procedure TForm1.Timer1Timer} procedure TForm1.Button3Click(Sender: TObject); begin JPEGImage1.Height:=JPEGImage1.Height-1; JPEGImage1.Width:=JPEGImage1.Width-1; end;{procedure TForm1.Button3Click} procedure TForm1.Button2Click(Sender: TObject); begin JPEGImage1.Height:=JPEGImage1.Height+1; JPEGImage1.Width:=JPEGImage1.Width+1; end;{procedure TForm1.Button2Click} procedure TForm1.AvslutaClick(Sender: TObject); begin Halt; end; procedure TForm1.LoadImageClick(Sender: TObject); begin OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName); if OpenDialog1.Execute then Begin JPEGImage1.FileName := OpenDialog1.FileName; PopupMenu1.Items.Items[0].Enabled:=true; Label1.Visible:=False; Label3.Visible:=False; Label4.Visible:=False; End; end; procedure TForm1.JPEGImage1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); Var addX,addY:Integer; begin SelectRam.Left:=X-95; SelectRam.Top:=Y-50; addX:=0; addY:=0; ziY:=Y-33; ziX:=X-49; For addX:=1 to 95 do Begin For addY:=1 to 67 do Begin Form2.Image1.Canvas.Pixels[addX, addY] := Form1.JPEGImage1.Canvas.Pixels[ziX+addX,ziY+addY]; End; End; { BitBlt(Form2.Image1.Canvas.Handle, 0, 0, 95, 67, Form1.JPEGImage1.Canvas.Handle, ziX, ziY, SRCCOPY);} end; end.