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