Farbfüller
Farbfüller
Ich hab ich jetzt mal mehr mit der Drawinglibary beschäfftig, kann aber einfach keine Funktion finden, welche alle Pixel ,einer Farbe , und benachtbart sind in eine andere Farbe umwandelt. (so wie der Farbfüller bei Paint).
Bidde helft mir.
Bidde helft mir.
- hardfalcon
- Beiträge: 3447
- Registriert: 29.08.2004 20:46
So eine Funktion musst du dir dann wohl selber schreiben. Dürfte aber auch nicht soo schwierig sein. Du checkst einfach die Farbwerte des Ausganspixels, und dann färbst du, nachdem du das Ausgangspixel umgefärbt hast, jedes der umliegenden 8 Pixel ebenfalls um, falls es die selbe Frabe wie das Ausgangspixel hat. Dann setzt du das Spielchen fort für jedes neu eingefärbte Pixel... Irgendwann findest du keine Pixel mehr, die du noch einfärben könntest, und dann is die Procedure fertig...
@hardfalcon
Danke für den Tipp ich hab das jetzt mal gemacht, aber es ist verdammt langsam durch das Point und Plot, gibt es nicht eine schneller Methode?
Gibt es vielleeicht eine schnelle Lösung mit Direct X (also Sprites )?
@scholly
Meines wissens nach (das was in der Help steht) ändert dieser befehl alle Pixel irgend einer Farbe bis die Randfarbe auftritt. Ich benötige aber eine Funktion die nur eine Farbe von Zusammenhängenden Pixeln ummalt.
Danke für den Tipp ich hab das jetzt mal gemacht, aber es ist verdammt langsam durch das Point und Plot, gibt es nicht eine schneller Methode?
Gibt es vielleeicht eine schnelle Lösung mit Direct X (also Sprites )?
@scholly
Meines wissens nach (das was in der Help steht) ändert dieser befehl alle Pixel irgend einer Farbe bis die Randfarbe auftritt. Ich benötige aber eine Funktion die nur eine Farbe von Zusammenhängenden Pixeln ummalt.
Wenn um diese "zusammenhängenden Pixel" herum nur eine andere Farbe ist, trifft das doch zu und dann wäre Dein Problem gelöstKonne hat geschrieben:Meines wissens nach (das was in der Help steht) ändert dieser befehl alle Pixel irgend einer Farbe bis die Randfarbe auftritt. Ich benötige aber eine Funktion die nur eine Farbe von Zusammenhängenden Pixeln ummalt.

scholly
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Habs jetzt mal gesteste und hab ne Frage:
Waqrum geht das net? Also warum bleibt die Farbe schwarz?
Danke im Vorraus für die Hilfe.
EDIT//
Hab jetzt verstanden warums net ging. Der Befehl will net die Füllfarbe sondern die zu Füllende Farbe. Was für ein schwanchsinn...
Naja für die dies interessiert will ich den Code net vorbehalten wie es geht:
Code: Alles auswählen
CreateImage(1,20,20)
UseImage(1)
dc=StartDrawing(ImageOutput())
ExtFloodFill_(dc,5,5,$FF0000,#FLOODFILLSURFACE)
StopDrawing()
SaveImage(1,"C:\ZZ.bmp")
Danke im Vorraus für die Hilfe.
EDIT//
Hab jetzt verstanden warums net ging. Der Befehl will net die Füllfarbe sondern die zu Füllende Farbe. Was für ein schwanchsinn...
Naja für die dies interessiert will ich den Code net vorbehalten wie es geht:
Code: Alles auswählen
CreateImage(1,20,20)
UseImage(1)
dc=StartDrawing(ImageOutput())
Box(2,2,15,15,RGB(255,255,255))
FrontColor(255, 0, 0)
Debug ExtFloodFill_(dc,10,10,RGB(255,255,255),#FLOODFILLSURFACE)
StopDrawing()
SaveImage(1,"C:\ZZ.bmp")