Referenz - PALETTE GET
Syntax A: PALETTE GET Index, Farbe
Syntax B: PALETTE GET Index, Rotwert, Grünwert, Blauwert
Syntax C: PALETTE GET USING ArrayName(idx)
Typ: Anweisung
Kategorie: Grafik
PALETTE GET speichert den Farbwert eines Palette-Eintrags in einer Variable, einem Array oder in drei einzelnen Speicherstellen.
- 'Index' ist der Farbindex, dessen Wert zurückgegeben werden soll.
- 'Farbe' ist eine Variable, in welcher der BGR-Wert gespeichert werden soll.
- 'Rotwert', 'Grünwert' und 'Blauwert' sind Variablen, in denen die einzelnen Teilfarben gespeichert werden sollen.
- 'ArrayName' ist der Name eines Arrays, in dem alle Palette-Einträge gespeichert werden sollen. 'idx' ist dabei der Index des Arrays, ab dem das Speichern beginnen soll.
Um die Palette-Einträge auszulesen, mussten bisher OUT und INP verwendet werden. PALETTE GET soll diese beiden Anweisungen ersetzen.
Indem ein Index angegeben wird, liefert PALETTE GET den zugehörigen BGR-Wert zurück und speichert ihn in einer Variable, oder es teilt ihn in seine Einzelfarben auf und speichert diese in drei Variablen (dann allerdings in der Reihenfolge rot, grün, blau). Wenn die komplette Palette kopiert werden soll, können ihre Elemente über PALETTE GET USING in ein Array kopiert werden.
PALETTE GET [USING] ist die Gegenfunktion zu PALETTE [USING]. Dort erhalten Sie weitere Informationen zum Aufbau der Farbpalette.
Beispiel:
DIM farbe AS INTEGER, rot AS INTEGER, gruen AS INTEGER, blau AS INTEGER, i AS INTEGER
DIM farben(15) AS INTEGER
SCREENRES 400, 300, 4 ' 16 indizierte Farben
PALETTE GET 1, farbe
PRINT "Der BGR-Farbwert von Farbe 1 ist &h"; HEX(farbe)
PRINT
PALETTE GET 2, rot, gruen, blau
PRINT "Farbe 2 setzt sich aus diesen Farben zusammen:"
PRINT "Rot:"; rot; " Gruen:"; gruen; " Blau:"; blau
PRINT
PALETTE GET USING farben(0)
PRINT "Alle Farben:"
FOR i = 0 TO 15
IF i = 0 THEN
COLOR 0, 15 ' schwarz auf weiß, da man es sonst nicht sieht
ELSE
COLOR i, 0 ' farbig auf schwarzem Hintergrund
END IF
PRINT "Farbe"; i; ": ";
IF i < 10 THEN PRINT " ";
PRINT "&h"; HEX(farben(i), 6)
NEXT
SLEEP
Unterschiede zu QB: neu in FreeBASIC
Unterschiede zu früheren Versionen von FreeBASIC: existiert seit FreeBASIC v0.14
Siehe auch:
PALETTE, SCREENRES, Grafik
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|