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 3: | Line 3: | ||
{{PageSyntax}} | {{PageSyntax}} | ||
; Screens 11, 12, 13, 256: [[PALETTE]] [{{Parameter|attribute%}}, ''red%'' + (''green%'' * 256) + (''blue%'' * 65536)] | ; 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)] | ; Screen 10: [[PALETTE]] [{{Parameter|existingAttribute%}}, {{Parameter|newAttribute%}} (value from 0 to 7)] | ||
Line 9: | Line 8: | ||
; Screens 1, 2, 7, and 8: [[PALETTE]] [{{Parameter|existingAttribute%}}, {{Parameter|newAttribute%}} (value from 0 to 15)] | ; 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. | ; Screen 32: No Palette available as all 32-bit colors are available. | ||
Line 19: | Line 17: | ||
* [[PALETTE USING]] can be used when color intensity values are stored in an [[Arrays|array]]. | * [[PALETTE USING]] can be used when color intensity values are stored in an [[Arrays|array]]. | ||
* QB64 implements the [[_PALETTECOLOR]] statement to provide extended palette functionality. | * QB64 implements the [[_PALETTECOLOR]] statement to provide extended palette functionality. | ||
=== QBasic/QuickBASIC === | === QBasic/QuickBASIC === | ||
Line 27: | Line 24: | ||
{{PageExamples}} | {{PageExamples}} | ||
''Example:'' Displaying all 64 DAC color hues as backgrounds in SCREEN 9 using a PALETTE swap. | ''Example:'' Displaying all 64 DAC color hues as backgrounds in SCREEN 9 using a PALETTE swap. | ||
{{CodeStart}} | {{CodeStart}} | ||
{{Cl|SCREEN}} 9 ' background is default black | {{Cl|SCREEN}} 9 ' background is default black |
Latest revision as of 21:15, 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