Einzelnen Beitrag anzeigen

fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Ruckeln durch 2 Bilder verhindern, wie gehts?

  Alt 10. Jan 2011, 14:43
Wenn man nur ein Bild nehmen würde (wahrscheinlich TImage) und das dann verändert, wird es bei jeder kleinen Veränderung neu gezeichnet, was Zeit kostet.

Nimmt man ein zweites Bild (z.B. ein TBitmap), was man nicht sehen kann und verändert dieses, wird nichts auf den Bildschirm gezeichnet (weil es ja nicht sichtbar ist). Wenn die Veränderung fertig ist, wird dann das gesamte zweite Bild auf das Erste geklatscht. Das erste wird also nur ein Mal neu gezeichnet und es tritt somit kein Flacker-Effekt auf

Code könnte so aussehen (so aus dem Kopf heraus...)
Delphi-Quellcode:
bild: TImage;
bmp: TBitmap;

...

procedure male();
begin
   bmp.assign(bild.Picture.Bitmap);//Bilddaten in bmp kopieren
   
   auf bmp herumzeichnen

   bild.Picture.bitmap.Assign(bmp);//und wieder zurük auf das TImage
end;


alternativ müsste auch einfach folgendes gehen:
DoubleBuffered := true; jetzt wird das ganze automatisch gemacht
  Mit Zitat antworten Zitat