Alphablending von Linien und Füllungen
In Windows GDI+ ist eine Farbe ein 32-Bit-Wert mit jeweils 8 Bits für Alpha, Rot, Grün und Blau. Der Alphawert gibt die Transparenz der Farbe an (also wie stark die Farbe mit der Hintergrundfarbe gemischt wird). Alphawerte reichen von 0 bis einschließlich 255, wobei 0 eine vollständig transparente Farbe und 255 eine vollständig deckende Farbe darstellt.
Alphablending ist eine pixelbasierte Mischung von Quell- und Hintergrundfarbdaten. Jede der drei Komponenten (Rot, Grün, Blau) einer Quellfarbe wird gemäß der folgenden Formel mit der entsprechenden Komponente der Hintergrundfarbe gemischt:
displayColor = sourceColor × alpha / 255 + backgroundColor × (255 – alpha) / 255
Angenommen, die rote Komponente der Quellfarbe ist 150, und die rote Komponente der Hintergrundfarbe ist 100. Wenn der Alphawert 200 beträgt, wird die rote Komponente der resultierenden Farbe wie folgt berechnet:
150 × 200 / 255 + 100 × (255 – 200) / 255 = 139
In den folgenden Themen wird die Alphamischung ausführlicher behandelt:
- Zeichnen deckender und halb transparenter Linien
- Zeichnen mit undurchsichtigen und halbtransparenten Pinsel
- Verwenden des Compositing-Modus zum Steuern der Alphamischung
- Verwenden einer Farbmatrix zum Festlegen von Alphawerten in Bildern
- Festlegen der Alphawerte einzelner Pixel