AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Füll-Werkzeug für Pixelprogramm
Thema durchsuchen
Ansicht
Themen-Optionen

Füll-Werkzeug für Pixelprogramm

Ein Thema von milos · begonnen am 3. Feb 2014 · letzter Beitrag vom 4. Feb 2014
Antwort Antwort
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
509 Beiträge
 
Delphi 11 Alexandria
 
#1

Füll-Werkzeug für Pixelprogramm

  Alt 3. Feb 2014, 00:31
Hallo,

ich bin dabei für meine 8Bit Game Engine einen kleinen Bildereditor zu basteln mit extras für die Engine. Ich würde nun gerne einige Tools hinzufügen und da habe ich ein Problem beim Füll-Werkzeug. Ich weiss nicht wie ich das Lösen kann.

Ich habe an eine Schleife gedacht die dann wie eine Spirale alles ausfäbrt was er soll, aber beim aufzeichnen hatte ich dann keinen Plan wie ich das wirklich Lösen soll xD

Hoffe einer kann mir helfen ^^

MfG

Edit: Ach ja, hab das Bild in einer 2-Dimensionalen Liste ^^
Milos
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

AW: Füll-Werkzeug für Pixelprogramm

  Alt 3. Feb 2014, 00:43
Floodfill ist vermutlich der Algorithmus, den du suchst.
EDIT: Der englische Wiki-Eintrag ist etwas umfangreicher.

Zitat von milos:
Edit: Ach ja, hab das Bild in einer 2-Dimensionalen Liste ^^
Warum? Das klingt ehrlich gesagt nicht so effizient.

Geändert von BUG ( 3. Feb 2014 um 00:50 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: Füll-Werkzeug für Pixelprogramm

  Alt 3. Feb 2014, 01:23
Ich hab mich vor Jahren mit dem Thema beschäftigt wie ich ein Labyrinth berechnen soll. Ich hab mich Wochen damit auseinandergesetzt (ohne fremde Literatur zu Hilfe zu ziehen). Die Lösung war letztendlich simpel und nur paar Zeilen lang. Ich hab mir einen Stack programmiert. Jedes Mal wenn sich die Wege trennten, habe ich die Position auf Stapel gelegt. Ging es irgendwann nicht mehr weiter, nahm ich die letzte Position vom Stapel und machte da weiter. So simpel das Vorgehen war, zuletzt war jede Ecke erfasst und alles war verbunden.

Vorausgesetzt du meinst mit Fill das Gleiche wie ich, sollte das Prinzip ähnlich sein. Jedes mal wenn es zwei Möglichkeiten gibt, Position merken.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.687 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: Füll-Werkzeug für Pixelprogramm

  Alt 3. Feb 2014, 02:45
Was ziemlich identlich mit dem klassischen FloodFill Algo ist, nur statt rekursiv iterativ mit einem eigenen Stack statt des impliziten Stacks
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.152 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Füll-Werkzeug für Pixelprogramm

  Alt 3. Feb 2014, 12:22
Abgesehen davon, das Du sicherlich nicht einen Stackeintrag pro Pixel machen wirst.
Also immer erst ganze Rasterzeilen füllen.

Mavarik
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Füll-Werkzeug für Pixelprogramm

  Alt 3. Feb 2014, 12:37
Wie soll das gehen?

Angenommen du fängst am roten Pixel an zu füllen. Wie willst du da "zeilenweise" alles ausfüllen?
Angehängte Grafiken
Dateityp: png pixelpower.png (4,9 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 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 by Thomas Breitkreuz