Das mit der Alpha-Maske funktioniert so:
Bei einem Standard-Bitmap mit 24 Bit hast du für jeden Pixel jeweils ein (unsigned) Byte (3 * 1 Byte = 3 * 8 Bit = 24 Bit) für die Kanäle
Red,
Green und
Blue zur Verfügung und kannst damit jeweils die Werte von 0 bis 255 speichern.
Bei einem 32-Bit-Bitmap kommt noch ein vierter Kanal hinzu, der sogenannte
Alpha-Kanal. In ihm kann pro Pixel auch noch seine Sichtbarkeit angegeben werden, wobei 255 für voll sichtbar und 0 für unsichtbar steht.
Wenn du also einen Verlauf der Transparenz haben willst, dann sollte dein Bitmap ein 32-Bit-Bitmap sein und die entsprechenden Werte für die Transparenz im Alpha-Kanal haben.
Dann musst du dir überlegen, wie du das Bitmap ausgibst. Wenn du es auf einer Canvas bzw. einem anderen Bitmap ausgeben willst, dann kannst du dein Bild Pixel für Pixel durchgehen und (entsprechend dem jeweiligen Alpha-Wert) jeden Pixel auf deinen Hintergrund blenden. Wenn deine Form selbst halbtransparent sein soll (wie es der Screenshot vermuten lässt), dann kannst du mit
UpdateLayeredWindow arbeiten.
mfg