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}} | ||
: [[PALETTE]] [{{Parameter|attribute%}}, ''red%'' + (''green%'' * 256) + (''blue%'' * 65536)] | : Screens 11, 12, 13, 256: [[PALETTE]] [{{Parameter|attribute%}}, ''red%'' + (''green%'' * 256) + (''blue%'' * 65536)] | ||
: [[PALETTE]] [{{Parameter|existingAttribute%}}, {{Parameter|newAttribute%}}] | : 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. | |||
{{PageDescription}} | {{PageDescription}} | ||
* {{Parameter|red%}}, {{Parameter|green%}} and {{Parameter|blue%}} values can range from 0 to 63. Many color shades are possible in non-[[DAC]] color attributes. | * {{Parameter|red%}}, {{Parameter|green%}} and {{Parameter|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 {{Parameter|red%}}, {{Parameter|green%}} and {{Parameter|blue%}} color intensity settings are all the same value the resulting color is a shade of grey. | * If the {{Parameter|red%}}, {{Parameter|green%}} and {{Parameter|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 {{Parameter|existingAttribute%}} to {{Parameter|newAttribute%}}. Screens 0 thru 9 support swaps | * A swap is often used with [[DAC]] color attributes that cannot change RGB settings. Only the RGB color settings are swapped from original {{Parameter|existingAttribute%}} to {{Parameter|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 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 [[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 === |
Revision as of 12:34, 26 October 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