{{DISPLAYTITLE:_SETALPHA}}{{DISPLAYTITLE:}} The [[_SETALPHA]] statement sets the alpha channel transparency level of some or all of the pixels of an image. {{PageSyntax}} : [[_SETALPHA]] {{Parameter|alpha&}}[, {{Parameter|color1&}}][ [[TO]] {{Parameter|colour2&}}] [, {{Parameter|imageHandle&}}] {{Parameters}} * {{Parameter|alpha&}} is the new alpha level to set, ranging from 0 (transparent) to 255 (opaque). * {{Parameter|color1&}} designates the 32-bit [[LONG]] color value or range of color values {{Parameter|color1&}} TO {{Parameter|colour2&}} to set the transparency. * If no color value or range of colors is given, the entire image's alpha is changed, including any [[_CLEARCOLOR]] settings. * If {{Parameter|imageHandle&}} is omitted, it is assumed to be the current write page or [[_DEST|destination]] image. {{PageDescription}} * In the first syntax, the alpha level of all pixels is set to {{Parameter|alpha&}}. * In the second syntax, the alpha level of all pixels matching the color {{Parameter|color1&}} is set to {{Parameter|alpha&}}. * In the third syntax, the alpha level of all pixels with red, green, blue and alpha channels in the range [{{Parameter|color1&}} TO {{Parameter|color2&}}] are set. * The [[_ALPHA]] setting makes a 32-bit color transparent, opaque or something in between. Zero is clear and 255 totally blocks underlying images. Use it to see through backgrounds or image colors. * If {{Parameter|alpha&}} is outside that range, an [[ERROR Codes|illegal function call]] error will occur. * If the image specified by {{Parameter|imageHandle&}} uses a palette, an [[ERROR Codes|invalid handle]] error will occur. * If {{Parameter|imageHandle&}} is an invalid handle, an [[ERROR Codes|illegal function call]] error will occur. * '''NOTE: 32-bit [[_NEWIMAGE]] screen page backgrounds are transparent black or [[_ALPHA]] 0. Use [[_DONTBLEND]] or [[CLS]] for opaque.''' {{PageExamples}} ''Example:'' Using a _SETALPHA color range to fade an image in and out while not affecting the transparent white background. {{CodeStart}} '' '' main = {{Cl|_NEWIMAGE}}(640, 480, 32) {{Cl|SCREEN}} main {{Cl|_SCREENMOVE}} {{Cl|_SCREENMOVE|_MIDDLE}} Image1& = {{Cl|_LOADIMAGE}}("qb64_trans.png") '<<< PNG file with white background to hide {{Cl|_SOURCE}} Image1& clr~& = {{Cl|POINT}}(0, 0) 'find background color of image {{Cl|_CLEARCOLOR}} clr~&, Image1& 'set background color as transparent topclr~& = clr~& - {{Cl|_RGBA}}(1, 1, 1, 0) 'get topmost color range just below full white {{Cl|_DEST}} main a& = 0 d = 1 DO {{Cl|_LIMIT}} 10 'regulate speed of fade in and out {{Cl|CLS}} ', {{Cl|_RGB}}(255, 0, 0) a& = a& + d {{Cl|IF...THEN|IF}} a& = 255 {{Cl|THEN}} d = -d {{Cl|_SETALPHA}} a&, 0 {{Cl|TO}} topclr~&, Image1& 'affects all colors below bright white {{Cl|_PUTIMAGE}} (0, 342), Image1& {{Cl|LOCATE}} 1, 1: {{Cl|PRINT}} "Alpha: "; a& {{Cl|_DISPLAY}} {{Cl|LOOP}} {{Cl|UNTIL}} a& = 0 '' '' {{CodeEnd}} : ''Explanation:'' The [[POINT]] value minus [[_RGBA]](1, 1, 1, 0) subtracts a small amount from the bright white color value so that the top [[_SETALPHA]] color range will not affect the [[_CLEARCOLOR]] transparency of the bright white PNG background. [http://www.qb64.net/qb64_trans.png qb64_trans.png]. {{PageSeeAlso}} * [[_ALPHA]], [[_ALPHA32]] * [[_RGBA]], [[_RGBA32]] * [[_CLEARCOLOR]] * [[_CLEARCOLOR (function)]] * [[_BLEND]], [[_DONTBLEND]] * [[COLOR]], [[Images]] {{PageNavigation}}