Beireich aus füllen (Close)

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Der Eisvogel

Betreff: Beireich aus füllen (Close)

BeitragSa, Okt 04, 2008 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Probelm:
Ich habe ein Bild 640*480. Dieses Bild wird mit einem Wellenstrich in 2 Teile geteilt.
Wie kann ich jetzt den Teil unterhalb von dem Wellenstrich ausfüllen in B3D.
Möglichst schnell.

PS: Es ist kein Dreiech/Rechteck oder dergleichen.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
  • Zuletzt bearbeitet von Der Eisvogel am So, Okt 05, 2008 12:39, insgesamt einmal bearbeitet

SpionAtom

BeitragSa, Okt 04, 2008 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Vll hilft das: https://www.blitzforum.de/foru...hp?t=29227

Läuft mit Writepixelfast. Ist allerdings keine richtige Ausfüllroutine, da müsste man schon noch was rumändern.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

FireballFlame

BeitragSa, Okt 04, 2008 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Womit willst du ihn denn ausfüllen? Mit nur einer Farbe/einem Muster/einer 3D-Szene?
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Der Eisvogel

BeitragSa, Okt 04, 2008 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte den Teil mit einer Farbe füllen.

@SpoinAtom:
Ich weis nicht wie ich mit dem, was du mir das verlinkt hast anfangen soll.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

The_Nici

BeitragSa, Okt 04, 2008 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/foru...l+funktion
10 Sekunden Suchfunktion.

Der Eisvogel

BeitragSa, Okt 04, 2008 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie lange dauert es, wenn ich 640*480 Pixel färben will?
ZU lange, und deswegen frage ich ob es schneller geht.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

SpionAtom

BeitragSa, Okt 04, 2008 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Es wird bei mir halt ein bestimmter Bereich ausgefüllt. Ich weiß ja nicht genau, was du haben willst. Willst du einfach eine Randfarbe angeben?
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Der Eisvogel

BeitragSa, Okt 04, 2008 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, aber bei meiner Bildgröße versagt dieses Prog.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

BladeRunner

Moderator

BeitragSa, Okt 04, 2008 18:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn Du weisst in welchem Bereich dein Wellenkamm ist kannst Du den Bereich der definitiv ganz drunter liegt mir einem einzelnen rect füllen, und dann das floodfill für die Restfläche nehmen. Etwas zu füllen was man vorher nicht kennt ist halt eine sehr rechenaufwendige Sache, da Du nur wissen kannst ob ein Pixel gefüllt werden muss indem Du ihn prüfst.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

FireballFlame

BeitragSa, Okt 04, 2008 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Je nachdem, wie schnell das "FloodFill" ist, ist es vielleicht effektiver, erst eine einzelne Periode der Welle in den ImageBuffer eines kleinen Bildes zu kopieren und zu füllen, und dann das Bild aneinanderzukacheln.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Der Eisvogel

BeitragSa, Okt 04, 2008 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
@BladerRunner: Das hat mir sehr geholfen, aber es dauert immernoch sehr lange.
Es muss doch noch eine möglichkeit geben das schneller zu machen. Oder?

EDIT: Gibt es vlt eine Funktion "Triangle", die wie "Rect" arbeitet?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

SpionAtom

BeitragSa, Okt 04, 2008 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn die Wellen regelmäßig gleichmäßig sind und sich in mathematische Formeln ausdrücken lassen, so lässt sich sicherlich einiges machen. Aber dazu müssten wir etwas mehr über die Beschaffenheit wissen.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Der Eisvogel

BeitragSa, Okt 04, 2008 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, der Wellenstrich ist nich regelmäßig.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

SpionAtom

BeitragSa, Okt 04, 2008 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt lass dir nicht alles aus der Nase ziehen... Wie wird er erzeugt?
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Der Eisvogel

BeitragSo, Okt 05, 2008 8:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Es werden ganz viele Punkte erzeugt, und diese Punkte werden verbunden.
Und zwar so:
Code: [AUSKLAPPEN]

winkel=atan2(p2y-p1y,p2x-p1x)
x=x+cos(winkel)
y=y+sin(winkel)+0.1
plot x,y


Ich hoffe der Code ist verständlich.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Smily

BeitragSo, Okt 05, 2008 11:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab vor einer ganzen weile mal eine Füllroutine gemacht, die ich jetzt nochmal ausgegraben habe:

Ist natürlich alles andere als echtzeit-fähig.
Vor dem füllen muss der buffer gelockt werden.

Code: [AUSKLAPPEN]
Function fill(x,y, c)
   If x < 0 Return 0
   If y < 0 Return 0
   If x > 800 Return 0
   If y > 600 Return 0
   If ReadPixelFast(x,y) = $FF000000
      WritePixelFast(x,y,c)
      fill(x+1,y,c)
      fill(x-1,y,c)
      fill(x,y+1,c)
      fill(x,y-1,c)
   End if
End function

Der Eisvogel

BeitragSo, Okt 05, 2008 12:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, aber diese Routine kenne ich schon.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Smily

BeitragSo, Okt 05, 2008 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Echtzeitfähig wirst du es mit blitzbasic nicht hinbekommen, da mindestens in dem unteren wellenbereich pixel für pixel gezeichnet werden _muss_

wenn du b3d verwendest, könnte man sich aber sicher ein sprite vorberechnen, das man drüber legt.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Der Eisvogel

BeitragSo, Okt 05, 2008 12:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein Ich progge in 2d.
Also wenn das wirklich nich anders zu machen ist, dann sag ich mal:

Kann geclosed werden.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Der_Schläfer

BeitragSo, Okt 05, 2008 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
warte mal... kennt sich jemand mit der blitzsys-userlib aus? weil die kann doch irgendwie triangles auf den nackten bilschirm zeichnen, vielleicht kann man die brauchen..

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group