ALPHA: 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
m (Protected "ALPHA" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))) |
No edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 20: | Line 20: | ||
{{PageExamples}} | {{PageExamples}} | ||
''Example 1:'' Alpha transparency levels are always 255 in 4 or 8 bit screen modes. | ''Example 1:'' Alpha transparency levels are always 255 in 4 or 8 bit screen modes. | ||
{{CodeStart}} | {{CodeStart}} | ||
{{Cl|SCREEN}} 13 | {{Cl|SCREEN}} {{Text|13|#F580B1}} | ||
clr~& = {{Cl|_RGBA}}(255, 0, 255, 192) 'returns closest palette color attribute | clr~& = {{Cl|_RGBA}}({{Text|255|#F580B1}}, {{Text|0|#F580B1}}, {{Text|255|#F580B1}}, {{Text|192|#F580B1}}) {{Text|<nowiki>'returns closest palette color attribute</nowiki>|#919191}} | ||
{{Cl|PRINT}} "Color:"; clr~& | {{Cl|PRINT}} {{Text|<nowiki>"Color:"</nowiki>|#FFB100}}; clr~& | ||
{{Cl|COLOR}} clr~& | {{Cl|COLOR}} clr~& | ||
{{Cl|PRINT}} "Alpha:"; {{Cl|_ALPHA}}(clr~&) | {{Cl|PRINT}} {{Text|<nowiki>"Alpha:"</nowiki>|#FFB100}}; {{Cl|_ALPHA}}(clr~&) | ||
{{Cl|END}} | {{Cl|END}} | ||
{{CodeEnd}} | {{CodeEnd}} | ||
{{OutputStart}}{{ | {{OutputStart}}{{Text|Color 36|#FFFFFF}} | ||
{{ | {{Text|Alpha: 255|#FF00FF}} | ||
{{OutputEnd}} | {{OutputEnd}} | ||
: ''Explanation:'' [[_RGBA]] cannot change the [[_ALPHA]] level. [[_ALPHA32]] would return 0 on any non-32 bit image or page. | : ''Explanation:'' [[_RGBA]] cannot change the [[_ALPHA]] level. [[_ALPHA32]] would return 0 on any non-32 bit image or page. | ||
---- | |||
''Example 2:'' Finding the transparency of a 32 bit screen mode's background before and after [[CLS]]. | ''Example 2:'' Finding the transparency of a 32 bit screen mode's background before and after [[CLS]]. | ||
{{CodeStart}} | {{CodeStart}} | ||
{{Cl|SCREEN}} {{Cl|_NEWIMAGE}}(640, 480, 32) | {{Cl|SCREEN}} {{Cl|_NEWIMAGE}}({{Text|640|#F580B1}}, {{Text|480|#F580B1}}, {{Text|32|#F580B1}}) | ||
BG& = {{Cl|POINT}}(1, 1) | BG& = {{Cl|POINT}}({{Text|1|#F580B1}}, {{Text|1|#F580B1}}) | ||
{{Cl|PRINT}} "Alpha ="; {{Cl|_ALPHA}}(BG&); "Press a key to use CLS!" | {{Cl|PRINT}} {{Text|<nowiki>"Alpha ="</nowiki>|#FFB100}}; {{Cl|_ALPHA}}(BG&); {{Text|<nowiki>"Press a key to use CLS!"</nowiki>|#FFB100}} | ||
K$ = INPUT$(1) | K$ = {{Cl|INPUT$}}({{Text|1|#F580B1}}) | ||
{{Cl|CLS}} | {{Cl|CLS}} | ||
BG& = {{Cl|POINT}}(1, 1) | BG& = {{Cl|POINT}}({{Text|1|#F580B1}}, {{Text|1|#F580B1}}) | ||
{{Cl|PRINT}} "CLS Alpha ="; {{Cl|_ALPHA}}(BG&) | {{Cl|PRINT}} {{Text|<nowiki>"CLS Alpha ="</nowiki>|#FFB100}}; {{Cl|_ALPHA}}(BG&) | ||
{{CodeEnd}} | {{CodeEnd}} | ||
{{OutputStart}}CLS Alpha = 255 {{OutputEnd}} | {{OutputStart}}CLS Alpha = 255 {{OutputEnd}} | ||
Line 53: | Line 54: | ||
{{PageSeeAlso}} | {{PageSeeAlso}} | ||
* [[_ALPHA32]], [[_SETALPHA]] | * [[_ALPHA32]], [[_SETALPHA]] | ||
* [[_RGBA]], [[_RGBA32]] {{ | * [[_RGBA]], [[_RGBA32]] {{Text|(set color with alpha)}} | ||
* [[_CLEARCOLOR]], [[_CLEARCOLOR (function)]] | * [[_CLEARCOLOR]], [[_CLEARCOLOR (function)]] | ||
* [[_RED]], [[_GREEN]], [[_BLUE]] | * [[_RED]], [[_GREEN]], [[_BLUE]] |
Latest revision as of 13:49, 19 March 2023
The _ALPHA function returns the alpha channel transparency level of a color value used on a screen page or image.
Syntax
- result& = _ALPHA(color~& [, imageHandle&])
Description
- If imageHandle& is omitted, it is assumed to be the current write page. Invalid handles will create Illegal function call errors.
- _NEWIMAGE 32 bit SCREEN modes will always use an _UNSIGNED LONG color~& value.
- Color values that are set as a _CLEARCOLOR always have an alpha level of 0 (transparent).
- _SETALPHA can set any alpha level from 0 (or fully transparent) to 255 (or opaque).
- Normal color values that are set by _RGB or _RGB32 always have an alpha level of 255(opaque).
- In 4 (16 color) or 8 (256 color) bit palette screens the function will always return 255.
- _RED32, _GREEN32, _BLUE32 and _ALPHA32 are all equivalent to _RED, _GREEN, _BLUE and _ALPHA but they are highly optimized and only accept a 32-bit color (B8:G8:R8:A8). Using them (opposed to dividing then ANDing 32-bit color values manually) makes code easy to read.
- NOTE: 32 bit _NEWIMAGE screen page backgrounds are transparent black or _ALPHA 0. Use _DONTBLEND or CLS for opaque.
Examples
Example 1: Alpha transparency levels are always 255 in 4 or 8 bit screen modes.
SCREEN 13 clr~& = _RGBA(255, 0, 255, 192) 'returns closest palette color attribute PRINT "Color:"; clr~& COLOR clr~& PRINT "Alpha:"; _ALPHA(clr~&) END |
Color 36 Alpha: 255 |
- Explanation: _RGBA cannot change the _ALPHA level. _ALPHA32 would return 0 on any non-32 bit image or page.
Example 2: Finding the transparency of a 32 bit screen mode's background before and after CLS.
SCREEN _NEWIMAGE(640, 480, 32) BG& = POINT(1, 1) PRINT "Alpha ="; _ALPHA(BG&); "Press a key to use CLS!" K$ = INPUT$(1) CLS BG& = POINT(1, 1) PRINT "CLS Alpha ="; _ALPHA(BG&) |
CLS Alpha = 255 |
- Explanation: Set the ALPHA value to 255 using CLS to make the background opaque when overlaying pages.
See also
- _ALPHA32, _SETALPHA
- _RGBA, _RGBA32 (set color with alpha)
- _CLEARCOLOR, _CLEARCOLOR (function)
- _RED, _GREEN, _BLUE
- _RED32, _GREEN32. _BLUE32
- CLS, COLOR, Images