You can't in Blitz Plus or the 2D command set of Blitz3D. All you can do is set a mask colour, as I'm sure you already know.
If you want varying degrees of alpha then you need to write your own functions that utilise the Read/WritePixelFast commands, which take the colour of the background, the colour of the foreground (your sprite) and then calculate the new colour to be written to the screen. As you can imagine, this is fairly slow and shouldn't be used for large images or many smaller sprites.
If you had Blitz3D you could use 3D sprites, which can have alpha applied to them. You could code your own routines or make use of one of the many 3D sprite libraries that are knocking about that let you use normal 2D co-ordinates.
For examples of the former search these forums or take a look in the code archives, as this question has been asked many times before.
If you want varying degrees of alpha then you need to write your own functions that utilise the Read/WritePixelFast commands, which take the colour of the background, the colour of the foreground (your sprite) and then calculate the new colour to be written to the screen. As you can imagine, this is fairly slow and shouldn't be used for large images or many smaller sprites.
If you had Blitz3D you could use 3D sprites, which can have alpha applied to them. You could code your own routines or make use of one of the many 3D sprite libraries that are knocking about that let you use normal 2D co-ordinates.
For examples of the former search these forums or take a look in the code archives, as this question has been asked many times before.