RGB farben mit for Schleife

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

gio

Betreff: RGB farben mit for Schleife

BeitragFr, Apr 10, 2009 3:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich wollte mal mit der For-Schleife alle Farben mit einer Linie angezeigt bekommen
aber leider klapt das nicht so richtig.
Ich bin erst seit ein paar wochen dabei B2D zu lernen aber hab schon andere Kenntnisse in anderen programmieresprachen.
Hier der Quellcode:
Code: [AUSKLAPPEN]

Graphics 640, 480,32,2

Global y=0
Global y1=0

Global r=0
Global g=0
Global b=0

While Not KeyHit(1)

If y = 481 Then y=0
If y1 = 481 Then y1=0

For ri=0 To 255  Step 1
   
   r=r+1
   Color r,g,b
   Line 0,y,640,y1
   
   For gi=0 To 255  Step 1
      
      g=g+1
      Color r,g,b
      Line 0,y,640,y1
      y=y+1
      y1=y1+1
      
      For bi=0 To 255  Step 1
         
         Delay 1
         b=b+1
         Color r,g,b
         Line 0,y,640,y1
         y=y+1
         y1=y1+1
         
      Next
   Next
Next

Wend

Triton

BeitragFr, Apr 10, 2009 3:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, ich weiß nicht genau, wie du dir das vorstellst. Prinzipiell kann man alle Farben nur schwer auf einem
Monitor darstellen, weil es 3 Grundfarben gibt. Und wenn man die alle mit einander Kombiniert, erhält man im Grunde einen Würfel, also einen Farbraum. Man sollte sich nicht von den Farbdialogen aus Malprogrammen irritieren lassen: auch da gibts immer einen Regler, der die dritte Dimension quasi kontrolliert.

Das muss man sich vorstellen wie ein Würfel, der in 256 Scheiben geschnitten wurde. Jede Scheibe hat z.B. einen Rotwert und die Grün und Blauwerte gehen ansonsten auf der X- und Y-Achse der scheibe in schönen
Farbübergängen in einander über.

However, man kann z.B. diese Scheiben aneinanderreihen und hätte dann auch alle Farben.
Sieht aber nicht so gut aus.

Ich habe mal schnell ein kleines Beispiel geschrieben, wie man es machen könnte:
Code: [AUSKLAPPEN]
Graphics 1024,768,32,2

Const stepw = 4
a = 256/stepw
break = Sqr(a)

For r = 0 To 255 Step stepw
   For g = 0 To 255 Step stepw
      For b = 0 To 255 Step stepw
         Color r,g,b
         Plot x+(b/stepw),y+(g/stepw)
      Next
   Next
   c=c+1
   x=x+a
   If c Mod break = 0 Then y=y+a:x=0
Next


WaitKey
End


In jedem kleinen Kästchen wird blau auf der x-Achse und Grün auf der y-Achse jeweils von 0 bis 255 zusammen dargestellt. Zusätzlich hat jedes kästchen einen Rotanteil, der auch von 0 bis 255 geht, aber sich eben nur von Kästchen zu kästchen erhöht.


Was deinen Code angeht, so kannst du mal die Schrittweiten in den For...Next-schleifen erhöhen und
auch bei r=r+1 (usw.) den Wert erhöhen.
Coding: silizium-net.de | Portfolio: Triton.ch.vu
 

Krischan

BeitragFr, Apr 10, 2009 9:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder schau Dir mal meine Farbverlaufsfunktion an, die kann auch alle Farben darstellen:

https://www.blitzforum.de/foru...p?p=312977

Triton

BeitragFr, Apr 10, 2009 14:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber nicht in einem Farbverlauf.
Coding: silizium-net.de | Portfolio: Triton.ch.vu
 

Krischan

BeitragFr, Apr 10, 2009 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Mmmhh, wollte er nicht "alle Farben mit einer Linie angezeigt bekommen"? Nichts anderes kann man mit der Gradientfunktion machen Surprised
 

gio

Betreff: RGB farben mit for Schleife

BeitragSa, Apr 11, 2009 11:55
Antworten mit Zitat
Benutzer-Profile anzeigen
achso ok danke

jetzt hab ich bemerkt das es doch nicht so einfach ist
muss wohl noch etwas programmieren

Trotzdem Vielen dank

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group