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 |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
{{PageSyntax}} | {{PageSyntax}} | ||
; Screens 11, 12, 13, 256: [[PALETTE]] [{{Parameter|attribute%}}, ''red%'' + (''green%'' * 256) + (''blue%'' * 65536)] | |||
: [[PALETTE]] [{{Parameter|attribute%}}, ''red%'' + (''green%'' * 256) + (''blue%'' * 65536)] | ; Screen 10: [[PALETTE]] [{{Parameter|existingAttribute%}}, {{Parameter|newAttribute%}} (value from 0 to 7)] | ||
: [[PALETTE]] [{{Parameter|existingAttribute%}}, {{Parameter|newAttribute%}}] | ; 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== | |||
* 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. | * 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. | ||
Line 23: | 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 | {{Cl|LOCATE}} 20, 33: {{Cl|PRINT}} "Press any Key!" | ||
{{Cl|LOCATE}} 20, 33: {{Cl|PRINT}} "Press any Key!" | |||
{{Cl|FOR...NEXT|FOR}} i = 0 {{Cl|TO}} 63 | {{Cl|FOR...NEXT|FOR}} i = 0 {{Cl|TO}} 63 | ||
a$ = {{Cl|INPUT$}}(1) ' wait for a keypress | a$ = {{Cl|INPUT$}}(1) ' wait for a keypress | ||
{{Cl|PALETTE}} 0, i | {{Cl|PALETTE}} 0, i | ||
{{Cl|NEXT}} | {{Cl|NEXT}} | ||
{{CodeEnd}} | {{CodeEnd}} | ||
:''Note:'' Other attributes (1 to 15) can also be swapped for DAC foreground colors. | :''Note:'' Other attributes (1 to 15) can also be swapped for DAC foreground colors. |
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