_RGBA - QB64 Wiki


From QB64 Wiki

Jump to: navigation, search

The _RGBA function returns the closest palette index OR the 32 bit LONG color value in 32 bit screens.


colorindex~& = _RGBA(red, green, blue, alpha[, image_handle])

  • The value returned is either the closest color attribute number or a 32 bit _UNSIGNED LONG color value.
  • Return variable types MUST be LONG or redulting 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.
  • The alpha value can be set to make the color transparent(0), opaque(255) or somewhere in between.
  • Parameter values outside of the 0 to 255 range 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.
  • If the image_handle is omitted the image is assumed to be the current destination or SCREEN page.
  • Allows the blending of pixel colors red, green and blue to create any of 16 million colors.
  • NOTE: Default 32 bit backgrounds are clear black or _RGBA(0, 0, 0, 0)! Use CLS to make the black opaque!

Example: Setting a font's background color alpha to clear to overlay a second text color.

scrn& = _NEWIMAGE(400, 400, 32) SCREEN scrn& fnt& = _LOADFONT("C:\WINDOWS\FONTS\ARIAL.TTF", 26) _FONT fnt& X% = 20 Y% = 20 COLOR _RGB(255, 255, 255), _RGB(0, 0, 0) 'Foreground set to WHITE background to BLACK _PRINTSTRING (X%, Y%), "Hello World" COLOR _RGB(255, 0, 0), _RGBA(0, 0, 0, 0) 'Foreground set to RED background to TRANSPARENT BLACK _PRINTSTRING (X% + 2, Y% + 2), "Hello World" END

Code by Unseen Machine

Explanation: _PRINTSTRING allows text or font colors to be alpha blended in 32 bit screens.

See also:

Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page
  • Page
  • Discussion
  • View source
  • History
Personal tools
  • Log in
  • What links here
  • Related changes
  • Special pages
  • Printable version