sikaman的方法不可取。
没有分倒不要紧,关键问题是连类的概念都不清晰,不知道你怎么来写游戏。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
jpeg, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
CheckBox1: TCheckBox;
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var Bmp:Tbitmap;
MyRect, MyOther: TRect;
begin
if checkbox1.Checked then //局部放大
begin
Bmp:=Tbitmap.Create;
MyRect := Rect(x-20,y-20,x+20,y+20);
MyOther := Rect(0,0,40, 40);
bmp.Height:=40;
Bmp.Width:=40;
Bmp.Canvas.CopyRect(MyOther,image1.Picture.bitmap.Canvas,MyRect);
canvas.StretchDraw(rect(10,10,400,400),bmp);
Bmp.free;
end
else
canvas.StretchDraw(rect(10,10,400,400),image1.Picture.bitmap);
end;
procedure TForm1.Button1Click(Sender: TObject);
var Bmp:Tbitmap;
begin
Bmp:=Tbitmap.Create;
Bmp.LoadFromFile('e:/2.bmp');
image1.Picture.Bitmap.Height:=100;
image1.Picture.Bitmap.width:=150;
image1.Left:=440;
image1.Picture.Bitmap.canvas.StretchDraw(rect(0,0,150,100),bmp );
Bmp.free;
end;
end.