unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Button1: TButton;
TrackBar1: TTrackBar;
TrackBar2: TTrackBar;
TrackBar3: TTrackBar;
TrackBar4: TTrackBar;
TrackBar5: TTrackBar;
TrackBar6: TTrackBar;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar2Change(Sender: TObject);
procedure TrackBar3Change(Sender: TObject);
procedure TrackBar4Change(Sender: TObject);
procedure TrackBar5Change(Sender: TObject);
procedure TrackBar6Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
GDIPAPI,GDIPOBJ;
procedure TForm1.FormCreate(Sender: TObject);
const
n = 40;
begin
TrackBar1.Min:=-n;
TrackBar1.Max:=n;
TrackBar2.Min:=-n;
TrackBar2.Max:=n;
TrackBar3.Min:=-n;
TrackBar3.Max:=n;
TrackBar4.Min:=-n;
TrackBar4.Max:=n;
TrackBar5.Min:=-n;
TrackBar5.Max:=n;
TrackBar6.Min:=-n;
TrackBar6.Max:=n;
TrackBar1.Position:=10;
TrackBar2.Position:=0;
TrackBar3.Position:=0;
TrackBar4.Position:=10;
TrackBar5.Position:=0;
TrackBar6.Position:=0;
Button1.OnClick := formcreate;
end;
procedure TForm1.FormPaint(Sender: TObject);
var
g:TGPGraphics;
img:TGPImage;
matrix:TGPMatrix;
m1,m2,m3,m4,dx,dy:Single;
begin
Form1.DoubleBuffered:=True;
g:=TGPGraphics.Create(Canvas.Handle);
g.Clear(aclWhite);
img:=TGPImage.Create('d:\mm.png');
m1:=TrackBar1.Position / 10;
m2:=TrackBar2.Position / 10;
m3:=TrackBar3.Position / 10;
m4:=TrackBar4.Position / 10;
dx:=TrackBar5.Position * 10;
dy:=TrackBar6.Position * 10;
matrix:=TGPMatrix.Create(m1,m2,m3,m4,dx,dy);
g.SetTransform(matrix);
g.DrawImage(img,10,10,img.GetWidth,img.GetHeight);
img.Free;
matrix.Free;
g.Free;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
Repaint;
end;
procedure TForm1.TrackBar2Change(Sender: TObject);
begin
Repaint;
end;
procedure TForm1.TrackBar3Change(Sender: TObject);
begin
Repaint;
end;
procedure TForm1.TrackBar4Change(Sender: TObject);
begin
Repaint;
end;
procedure TForm1.TrackBar5Change(Sender: TObject);
begin
Repaint;
end;
procedure TForm1.TrackBar6Change(Sender: TObject);
begin
Repaint;
end;
end.