![]() |
For Schleife
Hallo,
diese Frage ist mir fast schon peinlich, aber ich steh im Moment wohl komplett aufm Schlauch ;) Ich hab hier 100x100 "Felder". Also immer 100 Reihen und 100 Zeilen. Ich brauch jetzt eine Schleife die auf alle 10.000 Felder zugreift. Also immer 1,1 - 1,2 -1,3..2,1-2,2 Eigentlich ja einfach, nur ich bekomm es nicht hin. Danke. |
Re: For Schleife
Delphi-Quellcode:
for i := 1 to 100 do
for j := 1 to 100 do //Feld[i, j] bearbeiten |
Re: For Schleife
Danke^^
Kleine Frage noch. Die Width und Heightangaben bei einem TImage sind doch gleich mit PixelxPixel oder? |
Re: For Schleife
Ja.
|
Re: For Schleife
PS: TImage ... dort wird aber bei 0 beginnend gezählt
Zitat:
Zitat:
Delphi-Quellcode:
for i := 0 to 9999 do
//Feld[i mod 100, i div 100] bearbeiten |
Re: For Schleife
Zitat:
|
Re: For Schleife
@Muetze1
Seltsam, mein Code scheint aber zu funktionieren. Mit:
Delphi-Quellcode:
for B := 1 to 531 do
for E := H to 312 do begin if not (Image1.Canvas.Pixels[B,H]=clWhite) then belegt:=belegt+1; end; Damit liefert er mir korrekte Ergebnisse wieviele Pixel nicht Weiß sind. @Topic Also mir ist geholfen. Vielen Dank :) |
Re: For Schleife
Wenn du aber die Eigenschaft Stretch des TImages auf True setzt und Bilder (z.B. aus Dateien) hineinlädst, werden die geladenen Bilder entsprechend der Größe des TImages gestreckt oder gestaucht. Dann stimmen die Daten aus dem TImage nicht mehr mit denen des Bildes überein.
|
Re: For Schleife
Nicht nur bei Stretch=True ... die Werte Witdh und/oder Height des TImages brauchen sich nur von denen der enthaltenden Grafik zu unterscheiden (ob es dann nur verschoben, gestreckt oder ausschnittsweise ist, ist ja egal)
Aber bei Image1.Canvas greift er ja auf das Canvas des TImages zu ... ich weiß jetzt nicht, in wie weit dieses mit TImage.Graphic.{typ}.Canvas übereinstimmt ... also könnte da durchaus TImage.Width/.Height stimmen. Und wie schon erwähnt ... die Indizierung beginnt nicht bei 1 :warn: (ein Glück, daß .Pixels da keine Exception wirft, sondern "nur" Schwarz liefert) PS: not = entspricht <> |
Re: For Schleife
Das mit dem Laden eines Bildes ist kein Problem :)
Das Image ist immer gleich groß, da ich es als kleine Zeichenfläche nutze. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz