Registriert seit: 2. Jul 2006
42 Beiträge
Delphi 2010 Professional
|
Re: Bild verschieben - Komponente belassen
26. Mär 2007, 17:23
Wenn nur ein Teil verschoben werden soll:
Delphi-Quellcode:
procedure TForm1.Verschieben;
var BildTemp: TBitmap;
begin
BildTemp:=TBitmap.Create;
BildTemp.Width:=DieBitmapBreite;
BildTemp.Heigth:=DieBitmapHoehe;
//Bitmap wird aus Image1.Canvas aus der Position (i,0) in BildTemp hineinkopiert
BildTemp.CopyRect(Rect(0,0,BildTemp.Width,BildTemp.Heigth),Image1.Canvas,Rect(i,0,i+BildTemp.Width,BildTemp.Heigth));
//Image1.Canvas wird mit einem Rectangle übermalt
Image1.Canvas.Rectangle(-1,-1,Image1.Width+1,Image1.Heigth+1);
inc(i);
//BildTemp wird auf Position (i,0) gesetzt
Image1.CopyRect(Rect(i,0,i+BildTemp.Width,BildTemp.Heigth),BildTemp.Canvas,BildTemp.Canvas.ClipRect);
end;
ansonsten:
Delphi-Quellcode:
procedure TForm1.Verschieben;
var BildTemp: TBitmap;
begin
BildTemp:=TBitmap.Create;
//Image1 wird in Bitmap kopiert
BildTemp.Assign(Image1.Picture.Bitmap);
//Image1.Canvas wird mit einem Rectangle übermalt
Image1.Canvas.Rectangle(-1,-1,Image1.Width+1,Image1.Heigth+1);
inc(i);
//BildTemp wird auf Position (i,0) gesetzt
Image1.CopyRect(Rect(i,0,i+BildTemp.Width,BildTemp.Heigth),BildTemp.Canvas,BildTemp.Canvas.ClipRect);
end;
Hanno Günther
|
|
Zitat
|