Referenz - COLOR (Anweisung)
Syntax: COLOR [Vordergrund][,Hintergrund]
Typ: Anweisung
Kategorie: Konsole
COLOR setzt die Vorder- und Hintergrundfarbe für Ausgaben auf der Konsole oder auf dem Grafikfenster.
- 'Vordergrund' und 'Hintergrund' sind die neuen Farbnummern, die verwendet werden sollen. Welche Farbe welche Nummer hat, hängt vom aktuellen Bildschirmmodus ab (siehe Tabelle unten).
- 'Vordergrund' wird von allen Grafikanweisungen außer PRESET (Grafik) (siehe Liste unten) als Standard-Linienfarbe verwendet. Bei den Text-Anweisungen wird sie als Text-Vordergrundfarbe verwendet.
- 'Hintergrundfarbe' wird von PRESET (Grafik) als Standard-Linienfarbe verwendet. Bei den Text-Anweisungen wird sie als Hintergrundfarbe verwendet.
- CLS füllt den Bildschirm in 'Hintergrundfarbe' aus.
- Wird einer der beiden Parameter ausgelassen, behält FreeBASIC den zuvor eingestellten Farbwert bei. COLOR ohne Parameter hat keine Auswirkung.
- Im Textmodus ist standardmäßig 7 (helles grau) als Vordergrundfarbe, und 0 (schwarz) als Hintergrundfarbe eingestellt. In Grafikmodi ist standardmäßig ein helles weiß als Vordergrundfarbe und schwarz als Hintergrundfarbe eingestellt.
Diese Anweisungen benutzen die zuletzt mit COLOR gesetzten Farben, wenn kein anderer Wert angegeben wird:
Grafik-Anweisungen:
Text-Anweisungen:
Wurde das Grafikfenster mit SCREEN (Anweisung) initialisiert, dann sind die Farbnummern und die zugehörige Farbe abhängig vom gewählten Bildschirmmodus (gültig bis maximal 8bpp Farbtiefe).
Modus | Vordergrundfarbe | Hintergrundfarbe |
---|---|---|
0 | Farbindex der aktuellen Palette zwischen 0 und 15 | Farbindex der aktuellen Palette zwischen 0 und 15 |
1 | Bildschirmhintergrundfarbe (zwischen 0 und 15) | Palette für Vordergrundfarben:
(CGA-emulierte Palette)
|
2, 10 und 11 | Farbindex der aktuellen Palette zwischen 0 und 1 | Farbindex der aktuellen Palette zwischen 0 und 1 |
7, 8, 9 und 12 | Farbindex der aktuellen Palette zwischen 0 und 15 | Farbindex der aktuellen Palette zwischen 0 und 15 |
13 und höher | Farbindex der aktuellen Palette zwischen 0 und 255 | Farbindex der aktuellen Palette zwischen 0 und 255 |
SCREENRES ohne Angabe der Farbtiefe initialisiert ein Grafikfenster mit 256 Farben (8bbp).
Bei höheren Farbtiefen als 8bpp werden die Farben als RGB-Farbwerte behandelt. RGB-Farbwerte haben die Form &hRRGGBB, wobei RR, GG und BB die Rot-, Grün- und Blau-Werte sind. Sie liegen zwischen &h00 und &hFF (bzw 0 und 255 in dezimaler Schreibweise). Sie können aber auch die Funktionen RGB verwenden.
Im 32bit-Farbmodus werden die Farbwerte im Format &hAARRGGBB angegeben, wobei AA den Wert des Alphakanals angibt. Dazu steht die Funktion RGBA zur Verfügung. Um den Alphakanal für die Transparenz der drawing primitives nutzen zu können, muss bei der Initialisierung des Grafikfensters das Flag GFX_ALPHA_PRIMITIVES aktiviert sein (siehe SCREENRES).
Beispiel:
SCREENRES 800, 600, 32 ' Bildschirmmodus 800x600 bei 32bpp
COLOR &hFF8000, &h000040 ' Vordergrund orange, Hintergrund dunkelblau
' Hello World! ausgeben
CLS
LOCATE 19, 44: PRINT "Hello World!"
SLEEP
Die Farben im Vollbildmodus können sich von denen der Fenstermodi unterscheiden!
Unterschiede zu QB:
- Im Textmodus können in FreeBASIC sowohl Vordergrund- als auch Hintergrundfarben zwischen 0 und 15 liegen.
- Es gibt in FreeBASIC kein Rahmen-Argument mehr.
- Die FreeBASIC-Version akzeptiert auch RGB(A)-Farben in High-/Truecolor-Modi.
- Im SCREEN-Modus 1 lassen sich 4 verschiedene Farbpaletten anstelle von zweien benutzen.
- COLOR lässt sich in FreeBASIC auch als Funktion einsetzen; siehe COLOR (Funktion).
Siehe auch:
COLOR (Funktion), SCREENRES, PALETTE, PRINT (Anweisung), INPUT (Anweisung), Grafik, Konsole
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|