If you have a rectangle around it then probably it is not `masking` the parts that are meant to be transparent.
To get around this you have to set all the pixels that you want to show as fully transparent, to black or white (can't remember which, either $000000 or $FFFFFF). These will then act as if they are `masked` at the same time as shadeblended.
If the math for shadeblend is source*dest, you should work with that math so that the pixels you want to be transparent calculate out to not change the destination.
To get around this you have to set all the pixels that you want to show as fully transparent, to black or white (can't remember which, either $000000 or $FFFFFF). These will then act as if they are `masked` at the same time as shadeblended.
If the math for shadeblend is source*dest, you should work with that math so that the pixels you want to be transparent calculate out to not change the destination.