Bildpositionen zwischenspeichern
Übersicht

![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Idee nochmal ausführlich... in Ermangelung eines passendes Programms ungetestet.
Code: [AUSKLAPPEN] Type TBildPos
Field X, Y Field IMGLink.TBild End Type Type TBild Field Bild Field Pfad$ End Type Function Helligkeit_auswerten() ;[...] ; Der Pixel/Bereich soll mit diesem Bild später gezeichnet werden: Local Pfad_zum_passenden_Bild$ ; Die Position des Pixels wird gespeichert... Local Pos.TBildPos = New TBildPos Pos\X = X_Kord Pos\Y = Y_Kord ; Der Pfad wird verglichen, damit er nur einmal vorhanden ist: Pos\IMGLink = GetBildPfad(Pfad_zum_passenden_Bild$) ; Für jeden Pixel... ;[...] End Function ;*** Funktion liefert die Tbild-Instanz zurück, die den Pfad enthält ;*** Ist der Pfad noch nicht registirert, wird er hinzugefügt und zurückgegeben... Function GetBildPfad.TBild(fpfad$) Local b.TBild For b = Each TBild If b\Pfad$ = fpfad$ Then Return b Next ;** Bild ist noch nicht vorhanden, neuen eintrag erzeugen undzurückliefern.. b = New TBild b\Pfad$ = fpfad$ Return b End Function ;*** Alle Pixel durch wurden durch Helligkeit_auswerten() oder was auch immer ;*** Bestimmt, nur noch das Bild muss erstellt werden... Function BilderZeichnen() ;*** Im Imagebuffer zeichnen usw. bitte selbst ergänzen ;) Local Pos.TBildPos, b.TBild ;*** EDIT Denkfehler : For...Each erfüllt auch hier den Zweck... For b = Each TBild ;*** Bild laden... b\Bild = LoadImage(b\Pfad$) For Pos = Each TBildPos ;*** Nur das Bild ist <> Null, das wir aktuell geladen haben... If Pos\IMGLink\Bild <> Null Then DrawImage(Pos\IMGLink\Bild, Pos\X, Pos\Y) ;*** EDIT Pos ist abgearbeiten und braucht nicht mehr durchgegangen zu werden Delete Pos EndIf Next ;*** Bild abgearbeitet FreeImage b\Bild Delete b Next End Function Edit: Code Verbesserungen: - Delete Pos - For...Each statt Repeat...Forever |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
- Zuletzt bearbeitet von Xeres am Sa, Jan 03, 2009 10:11, insgesamt 2-mal bearbeitet
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Tedy Lesen!, Verstehen!, Antworten!.........ich glaube nicht, das du das Problem verstanden hast.
@skey-z Sorry ich geb mir echt mühe, aber ich versteh wirklich nicht was du mir sagen willst. Ich zweifle gerade echt an meinem Verstand......ich find irgendwie kaum einen Zusammenhang zwischen meinem Problem und dem was du da geschrieben hast. kannst du das noch mal irgendwie idiotensicher erklären? @Xeres ich schaus mir gleich mal an. EDIT: Sehr großen Dank an Xeres!!! dein Code hat mir echt viel gebracht. Ich musste ihn nur in meinen Code einbauen, eine Zeile (Delete Pos (nach dem einzeichnen des Bilds)) hinzufügen und schon hats funktioniert. |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group