PALETTE: Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
{{PageSyntax}} | {{PageSyntax}} | ||
; Screens 11, 12, 13, 256: [[PALETTE]] [{{Parameter|attribute%}}, ''red%'' + (''green%'' * 256) + (''blue%'' * 65536)] | |||
; Screen 10: [[PALETTE]] [{{Parameter|existingAttribute%}}, {{Parameter|newAttribute%}} (value from 0 to 7)] | |||
; Screens 0 and 9: [[PALETTE]] [{{Parameter|existingAttribute%}}, {{Parameter|newAttribute%}} (value from 0 to 63)] | |||
; Screens 1, 2, 7, and 8: [[PALETTE]] [{{Parameter|existingAttribute%}}, {{Parameter|newAttribute%}} (value from 0 to 15)] | |||
; Screen 32: No Palette available as all 32-bit colors are available. | |||
Revision as of 20:51, 6 November 2023
The PALETTE statement can swap color settings, set colors to default or set the red, green and blue color components of palette colors.
Syntax
- Screens 11, 12, 13, 256
- PALETTE [attribute%, red% + (green% * 256) + (blue% * 65536)]
- Screen 10
- PALETTE [existingAttribute%, newAttribute% (value from 0 to 7)]
- Screens 0 and 9
- PALETTE [existingAttribute%, newAttribute% (value from 0 to 63)]
- Screens 1, 2, 7, and 8
- PALETTE [existingAttribute%, newAttribute% (value from 0 to 15)]
- Screen 32
- No Palette available as all 32-bit colors are available.
Description
- red%, green% and blue% values can range from 0 to 63. Many color shades are possible in non-DAC color attributes. (Valid for screens 11, 12, 13, and 256 only.)
- If the red%, green% and blue% color intensity settings are all the same value the resulting color is a shade of grey. (Valid for screens 11, 12, 13, and 256 only.)
- A swap is often used with DAC color attributes that cannot change RGB settings. Only the RGB color settings are swapped from original existingAttribute% to newAttribute%. Screens 0 thru 9 support swaps.
- PALETTE without any value sets any changed RGB settings back to the default color settings, including DAC colors.
- PALETTE USING can be used when color intensity values are stored in an array.
- QB64 implements the _PALETTECOLOR statement to provide extended palette functionality.
QBasic/QuickBASIC
- Screens 0, 7 and 9 (DAC) colors could not be changed using the first syntax, but the program could use OUT to change intensity settings of attributes 1 thru 5.
Examples
Example: Displaying all 64 DAC color hues as backgrounds in SCREEN 9 using a PALETTE swap.
SCREEN 9 ' background is default black LOCATE 20, 33: PRINT "Press any Key!" FOR i = 0 TO 63 a$ = INPUT$(1) ' wait for a keypress PALETTE 0, i NEXT |
- Note: Other attributes (1 to 15) can also be swapped for DAC foreground colors.
See also