A Form kirajzolásakor, annak Paint eseményénél jelenítünk meg úgy egy szöveget, hogy bármilyen grafikai objektum rajzolása csak az adott szöveg területén belül történjen meg. Ehhez a Graphics-ra beállítunk egy új régiót, melynek határait a szöveg karakterei adják.
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics;
Ehhez létre kell hoznunk egy GraphicsPath osztályt, melyhez hozzáadjuk a használni kívánt feliratot.
GraphicsPath gp= new GraphicsPath();
gp.AddString("Software Online", FontFamily.GenericSerif, (int)FontStyle.Bold, 64, new Point(10, 30), StringFormat.GenericDefault);
Ebből készítünk egy új régiót, melyet hozzárendelünk az aktuális Graphics-hoz.
Region region = new Region(gp);
g.Clip = region;
Ezt követően bármit is rajzolunk a Graphics osztály segítségével az már csak a szövegünk területére eső részét jeleníti meg. Így egy Bitmap kirajzolása, valójában a szöveget jeleníti meg, úgy hogy annak hátterén a kép látható.
Bitmap bmp = new Bitmap("1.bmp");
g.DrawImage(bmp, 10, trackBar1.Value);
Rajzolhatunk akár ferde vonalakat is a Form teljes méretére, de ezek szintén csak ott lesznek láthatók, ahol a feliratunk található.
Pen p = new Pen(Color.Black, 1);
for (int i=0; i<Width; i+=4)
{
g.DrawLine(p, i, 0, i+trackBar1.Value, Height);
}