forked from QB64-Phoenix-Edition/QB64pe
-
Notifications
You must be signed in to change notification settings - Fork 0
_RGBA32
Samuel Gomes edited this page Nov 8, 2022
·
1 revision
The _RGBA32 function returns the 32-bit RGBA color value with the specified red, green, blue and alpha component intensities.
color32value~& = _RGBA32(red&, green&, blue&, alpha&)
- 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.
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") '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