Einzelnen Beitrag anzeigen

cltom

Registriert seit: 22. Sep 2005
221 Beiträge
 
Delphi 12 Athens
 
#1

Raster auf Canvas zeichnen

  Alt 3. Mär 2008, 08:33
Hej DP,

für ein "Zeichenprogramm" möchte ich einen Raster machen. Das "snap-to-grid" geht gut, kein Problem mit dem üblichen (x div raster) * raster. Was jedoch nicht gut läuft, ist die grafische Darstellung. Diese mache ich einfach durch zwei Schleifen.

Delphi-Quellcode:
  for rx := 0 to (img_main.Width div gridsize) do
    for ry := 0 to (img_main.Height div gridsize) do
      img_main.Canvas.Pixels[rx*gridsize,ry*gridsize] := clGrey;
das geht auch, ist aber bei schnellem neuzeichnen (etwa beim bewegen von objekten) ineffizient. das heisst, das neuzeichnen wird extrem verlangsamt. Natürlich auch, sind ja rund 1 Mio. Schleifendurchläufe.

Was wäre effizienter? Ein fertiges Bild mit mehreren Kacheln malen?

danke und ligrü
tom
  Mit Zitat antworten Zitat