Difference between revisions of "RGB"
Jump to navigation
Jump to search
Navigation:
imported>Clippy m |
imported>Clippy m |
||
Line 11: | Line 11: | ||
* Intensity values outside the valid range are clipped. | * Intensity values outside the valid range are clipped. | ||
* If the ''image_handle'' is omitted the image is assumed to be the current [[_DEST|destination]] or [[SCREEN]] page. | * If the ''image_handle'' is omitted the image is assumed to be the current [[_DEST|destination]] or [[SCREEN]] page. | ||
− | * Colors returned are ALWAYS opaque as the [[_ALPHA]] value is always 255! | + | * Colors returned are ALWAYS opaque as the [[_ALPHA]] value is always 255! Use [[_ALPHA]] or [[_CLEARCOLOR]] to change it. |
* '''NOTE: Default 32 bit backgrounds are clear black or [[_RGBA]](0, 0, 0, 0)! Use [[CLS]] to make the black opaque!''' | * '''NOTE: Default 32 bit backgrounds are clear black or [[_RGBA]](0, 0, 0, 0)! Use [[CLS]] to make the black opaque!''' | ||
Revision as of 00:40, 30 June 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 from 0 to 255.
- green& specifies the green component intensity from 0 to 255.
- blue& specifies the blue component intensity from 0 to 255.
- Intensity values outside the valid range are clipped.
- If the image_handle is omitted the image is assumed to be the current destination or SCREEN page.
- Colors returned are ALWAYS opaque as the _ALPHA value is always 255! Use _ALPHA or _CLEARCOLOR to change it.
- NOTE: Default 32 bit backgrounds are clear black or _RGBA(0, 0, 0, 0)! Use CLS to make the black opaque!
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) = "&H" + HEX$(_RGB32(red, grn, blu)) 'always returns the 32 bit value COLOR attribute PRINT "COLOR" + STR$(_RGB(red, grn, blu)) + " = " + 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