Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
 
Delphi 12 Athens
 
#4

Re: Bitmap: nur Änderungen zeichnen

  Alt 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.
  Mit Zitat antworten Zitat