Beireich aus füllen (Close)
Übersicht

![]() |
Der EisvogelBetreff: Beireich aus füllen (Close) |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
https://www.blitzforum.de/foru...l+funktion
10 Sekunden Suchfunktion. |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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.. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group