BLEND: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Created page with "{{DISPLAYTITLE:_BLEND}} The _BLEND statement turns on 32 bit alpha blending for an image or screen mode and is on by default. {{PageSyntax}} : _BLEND [{{Parameter|imageHandle&}}] ===Parameters=== * {{Parameter|imageHandle&}} refers to an image in memory. If not specified, the current destination page (See _DEST) is affected. {{PageDescription}} * Alpha blending is on by default when loading a .PNG image to a 32-bit surface. * Normally it is used to turn...")
 
m (Protected "BLEND" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
(No difference)

Revision as of 20:51, 29 April 2022

The _BLEND statement turns on 32 bit alpha blending for an image or screen mode and is on by default.


Syntax

_BLEND [imageHandle&]

Parameters

  • imageHandle& refers to an image in memory. If not specified, the current destination page (See _DEST) is affected.


Description

  • Alpha blending is on by default when loading a .PNG image to a 32-bit surface.
  • Normally it is used to turn blending on after a previous _DONTBLEND call.
  • _BLEND can only be used on 32-bit surfaces, otherwise it will produce the error Illegal Function Call.
  • Note: _DONTBLEND is faster than the default _BLEND unless you really need to use it in 32 bit.
  • 32 bit screen surface backgrounds (black) have zero _ALPHA so that they are transparent when placed over other surfaces.


Examples

Example:

SCREEN _NEWIMAGE(640, 480, 32)

'CLS , _RGB(128, 128, 128) 'change background color for other results

_DONTBLEND

bg& = POINT(0, 0)
PRINT _RED(bg&), _GREEN(bg&), _BLUE(bg&), _ALPHA(bg&)

LINE (100, 100)-(200, 200), _RGBA32(255, 128, 0, 128), BF

LINE (440, 100)-(540, 200), _RGBA32(0, 0, 255, 64), BF

K$ = INPUT$(1)

_BLEND

LINE (270, 300)-(370, 400), _RGBA32(255, 128, 0, 128), BF
m& = POINT(303, 302)
PRINT _RED(m&), _GREEN(m&), _BLUE(m&), _ALPHA(m&)
K$ = INPUT$(1)

LINE (270, 300)-(370, 400), _RGBA32(0, 0, 255, 64), BF
m& = POINT(303, 302)
PRINT _RED(m&), _GREEN(m&), _BLUE(m&), _ALPHA(m&)


 

_RGBA(255,128,0,128)

   onto

     _RGBA(0,0,255,64)

 

results in

  _RGBA(95,48,64,128)

 


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link