Einzelnen Beitrag anzeigen

Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Deckkraft von Bitmap unregelemässig erstellen

  Alt 18. Apr 2011, 11:49
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 Hier im Forum suchenUpdateLayeredWindow arbeiten.

mfg
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/