Einzelnen Beitrag anzeigen

Benutzerbild von HannosG
HannosG

Registriert seit: 2. Jul 2006
42 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Bild verschieben - Komponente belassen

  Alt 26. Mär 2007, 16: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
  Mit Zitat antworten Zitat