RGBA32
From QB64 Wiki
The _RGBA32 function ALWAYS returns the 32-bit RGBA color value with specified red, green, blue and alpha component intensities.
- result~& = _RGBA32(red&, green&, blue&, alpha&)
Description:
- The value returned is ALWAYS a 32 bit _UNSIGNED LONG color value.
- Return variable types MUST be LONG or you 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$(colorvalue&), 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!
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.png") '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 'increase 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 'decrease black box transparency _DISPLAY NEXT END
- Note: The QB64.PNG bee image used is available at the top of the QB64 forum: http://www.qb64.net/forum/index.php
See also:
- _RGB32, _RGBA, _RGB
- _RED32, _GREEN32, _BLUE32
- HEX$ 32 Bit Values, POINT
- SAVEIMAGE (bitmap creator)
- Hexadecimal Color Values