C# - Rajzolás tetszőleges képre

forráskód letöltése
Ha adott egy kép egy PicutreBox-ban, mely legyen Bitmap, vagy bármi egyéb és szeretnénk rajzolni a területére, például feliratokat elhelyezni minden képen, akkor a GDI+ erre is ad lehetőséget.
Ehhez csak létre kell hoznunk egy új Graphics osztályt, mellyel már tetszőleges rajz művelet elvégezhető. A létrehozás módja azonban nem mindegy, hogy miként történik. Ehhez a Graphics osztály FormImage statikus függvényét kell használnunk, melynek paraméterként azt a képet kell megadnunk, melynek területére rajzolni szeretnénk.
      Graphics g = Graphics.FromImage(pictureBox1.Image);
Ezt követően a rajzolás már ugyanúgy megy, mint bármely más esetben, ha a Graphics osztályt használjuk. Ami lényeges most, az az, hogy az így létrehozott Graphics osztállyal csak a megadott kép területén belül rajzolhatunk, így a 0, 0 koordináta pont is a kép bal felső sarka lesz.
Az elvégzett rajz műveletek után van még egy fontos teendőnk ahhoz, hogy az új grafika meg is jelenjen a kép területén. Ehhez meg kell hívnunk a PictureBox Refresh függvényét.
      pictureBox1.Refresh();