_RGBA32

From QB64 Wiki
Revision as of 18:12, 8 March 2020 by Cobalt (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The _RGBA32 function returns the 32-bit RGBA color value with the specified red, green, blue and alpha component intensities.


Syntax

color32value~& = _RGBA32(red&, green&, blue&, alpha&)


Description

  • The value returned is a 32-bit _UNSIGNED LONG color value.
  • Return variable types must be _UNSIGNED LONG or resulting color may lose the _BLUE 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.
  • alpha& specifies the alpha component transparency value from 0 (fully transparent) to 255 (opaque).
  • Alpha or intensity values outside of the valid range of 0 to 255 are clipped.
  • Returns LONG 32-bit hexadecimal values from &H00000000 to &HFFFFFFFF with varying _ALPHA transparency.
  • When LONG values are PUT to file, the ARGB values become BGRA. Use LEFT$(MKL$(color32value~&), 3) to place 3 colors.
  • NOTE: Default 32-bit backgrounds are clear black or _RGBA(0, 0, 0, 0). Use CLS to make the black opaque.


Examples

Example: Changing the ALPHA value to fade an image in and out using a 32 bit PNG image.

SCREEN _NEWIMAGE(600, 400, 32) img& = _LOADIMAGE("qb64_trans.png") 'from http://www.qb64.org/images/qb64bee.png (or use any 24/32 bit image) 'Turn off auto display _DISPLAY ' Fade in FOR i% = 255 TO 0 STEP -5 _LIMIT 20 'control fade speed _PUTIMAGE (0, 0)-(600, 400), img& LINE (0, 0)-(600, 400), _RGBA(0, 0, 0, i%), BF 'decrease black box transparency _DISPLAY NEXT ' Fade out FOR i% = 0 TO 255 STEP 5 _LIMIT 20 'control fade speed _PUTIMAGE (0, 0)-(600, 400), img& LINE (0, 0)-(600, 400), _RGBA(0, 0, 0, i%), BF 'increase black box transparency _DISPLAY NEXT END

Code by Unseen Machine


See also



Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page