Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
Delphi 12 Athens
|
Re: Bitmap: nur Änderungen zeichnen
11. Sep 2004, 17:05
Du mußt nur ausrechnen, in welches Rechteck alle Kreise reinpassen, welche ihre Position geändert haben.
etwa so:
Delphi-Quellcode:
x1 := min(Kreis1.X, Kreis2.X, Kreis3.X ...);
y1 := min(Kreis1.Y, Kreis2.Y, Kreis3.Y ...);
x2 := max(Kreis1.X, Kreis2.X, Kreis3.X ...) + Kreisdurchmesser;
y2 := max(Kreis1.Y, Kreis2.Y, Kreis3.Y ...) + Kreisdurchmesser;
Da du aber abei die alten Kreise nicht vergessen darfst, sieht es dann wohl in etwa so aus:
Delphi-Quellcode:
x1 := min(Kreis1.X, Kreis2.X, Kreis3.X ...);
y1 := min(Kreis1.Y, Kreis2.Y, Kreis3.Y ...);
x2 := max(Kreis1.X, Kreis2.X, Kreis3.X ...);
y2 := max(Kreis1.Y, Kreis2.Y, Kreis3.Y ...);
Kreise verschieben und so... (also Kreis_.X & Kreis_.Y verändern)
x1 := min(x1, Kreis1.X, Kreis2.X, Kreis3.X ...);
y1 := min(y1, Kreis1.Y, Kreis2.Y, Kreis3.Y ...);
x2 := max(x2, Kreis1.X, Kreis2.X, Kreis3.X ...) + Kreisdurchmesser;
y2 := max(x3, Kreis1.Y, Kreis2.Y, Kreis3.Y ...) + Kreisdurchmesser;
// der Bereich zwischen x1,y1 und x2,y2 wird/wurde geändert
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|