Wenn du willst, kannst du auch durchscheinende Farben verwenden. Dazu musst du bei der Bereitstellung der Farben nur die Deckkraft zusätzlich angeben. Dieser zusätzliche Parameter, der in FromArgb() vor allen anderen Parametern angegeben wird, heißt auch Alpha-Kanal.
Im nachfolgenden Programmtext sind die erforderlichen Ergänzungen durch roten Fettdruck hervorgehoben:
using (SolidBrush pinsel = new SolidBrush(Color.White)) { g.FillRectangle(pinsel, rechteck); //Hintergrund zeichnen pinsel.Color = Color.FromArgb(128, 128, 0, 0); g.FillRectangle(pinsel, new Rectangle (rechteck.Location, new Size(120, 120))); pinsel.Color = Color.FromArgb(128, 0, 128, 0); g.FillRectangle(pinsel, new Rectangle(rechteck.Location + new Size(50, 50), new Size(120, 120))); pinsel.Color = Color.FromArgb(128, 0, 0, 128); g.FillRectangle(pinsel, new Rectangle(rechteck.Location + new Size(100, 100), new Size(120, 120))); }
Zulässige Werte für die Deckkraft sind die Zahlen im Bereich von 0 bis 225. Der Wert 255 bedeutet volle Deckkraft, der Wert 0 völlige Durchsichtigkeit. Im Beispiel verwendest du Farben mittlerer Deckkraft.
Der Effekt der durchscheinenden Farben :
Wo sich die Rechtecke überschneiden, findet eine Farbmischung statt. Den gleichen Effekt könntest du erzielen, wenn du farbige Gläser oder Folien übereinander legst.
Du kannst alle Experimente der vorangegangen Übung wiederholen.
Probiere die Wirkung verschiedener Werte für die Deckkraft einer durchscheinenden Farbe aus.