Egyszínű ecsethez a SolidBrush, míg a színátmeneteshez a LinearGradientBrush osztályt használjuk. Mind a két esetben meg kell adjuk, hogy az ecset milyen színű legyen. Az átlátszóság mértéke ezen a ponton lesz állítható: ha a színt a Color osztály FromArgb függvénye segítségével állítjuk elő, akkor a szokásos RGB értékeken kívül megadható egy A (Alpha) érték is, mely az átlátszóság mértékét szabályozza 0-255 között. Így nincs más teendőnk, mint ezt használni a SolidBrush és a LinearGradientBrush típusú ecsetek létrehozásánál. Ezt leszámítva minden egyéb rajzművelet a hagyományos módon történhet.
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
...
g.DrawString("Software Online", f, new SolidBrush(Color.Red), 10, 50);
g.DrawRectangle(new Pen(new SolidBrush(Color.FromArgb(trackBar1.Value, Color.Lime)), 10), 20, 20, 200, 70);
g.FillRectangle(new SolidBrush(Color.FromArgb(255-trackBar1.Value, Color.Yellow)), 20, 20, 200, 70);
...
g.FillRectangle(new LinearGradientBrush(r, Color.FromArgb(255-trackBar1.Value, Color.Blue), Color.FromArgb(trackBar1.Value, Color.Aqua), 45f), r);
}
|