Difference between revisions of "RGB"
Jump to navigation
Jump to search
Navigation:
imported>Clippy m |
imported>Clippy m |
||
Line 16: | Line 16: | ||
{{CodeStart}} | {{CodeStart}} | ||
{{Cl|SCREEN}} 12 | {{Cl|SCREEN}} 12 | ||
− | + | {{Cl|DIM}} hex32$(15) | |
{{Cl|FOR...NEXT|FOR}} attribute = 1 {{Cl|TO}} 15 | {{Cl|FOR...NEXT|FOR}} attribute = 1 {{Cl|TO}} 15 | ||
{{Cl|OUT}} {{Cl|&H}}3C7, attribute 'set color attribute to read | {{Cl|OUT}} {{Cl|&H}}3C7, attribute 'set color attribute to read | ||
Line 22: | Line 22: | ||
grn = {{Cl|INP}}({{Cl|&H}}3C9) * 4 | grn = {{Cl|INP}}({{Cl|&H}}3C9) * 4 | ||
blu = {{Cl|INP}}({{Cl|&H}}3C9) * 4 | blu = {{Cl|INP}}({{Cl|&H}}3C9) * 4 | ||
− | hex32$ = {{Cl|HEX$}}({{Cl|_RGB32}}(red, grn, blu)) | + | hex32$(attribute) = {{Cl|HEX$}}({{Cl|_RGB32}}(red, grn, blu)) 'always returns the 32 bit value |
{{Cl|COLOR}} attribute | {{Cl|COLOR}} attribute | ||
− | {{Cl|PRINT}} "{{Cl|COLOR}}" + {{Cl|STR$}}({{Cl|_RGB}}(red, grn, blu)) + " = {{Cl|&H}}" + hex32$ ' | + | {{Cl|PRINT}} "{{Cl|COLOR}}" + {{Cl|STR$}}({{Cl|_RGB}}(red, grn, blu)) + " = {{Cl|&H}}" + hex32$(attribute) 'closest attribute |
{{Cl|NEXT}} '' '' | {{Cl|NEXT}} '' '' | ||
{{CodeEnd}} | {{CodeEnd}} |
Revision as of 19:27, 25 May 2011
The _RGB function returns the closest palette attribute index OR the 32 bit color value in 32 bit screens only.
- colorindex& = _RGB(red, green, blue[, image_handle])
- The value returned is either the closest color attribute number or a 32 bit LONG color value.
- red& specifies the red component intensity.
- green& specifies the green component intensity.
- blue& specifies the blue component intensity.
- Valid component intensity values range from 0 (no intensity; color not present) to 255 (full intensity).
- Values outside the valid range are clipped.
Example: Converting the color port RGB intensity palette values 0 to 63 to 32 bit hexadecimal values.
SCREEN 12 DIM hex32$(15) FOR attribute = 1 TO 15 OUT &H3C7, attribute 'set color attribute to read red = INP(&H3C9) * 4 'convert port setting to 32 bit values grn = INP(&H3C9) * 4 blu = INP(&H3C9) * 4 hex32$(attribute) = HEX$(_RGB32(red, grn, blu)) 'always returns the 32 bit value COLOR attribute PRINT "COLOR" + STR$(_RGB(red, grn, blu)) + " = &H" + hex32$(attribute) 'closest attribute NEXT
- Note: This procedure also shows how the returns from _RGB and _RGB32 differ in a non-32 bit screen mode.
See also