Изображение является хорошим контейнером для этой задачи:
// Load the image from an existing file
using (var img = Image.FromFile("test.png"))
using (var g = Graphics.FromImage(img))
{
// Scratch on it
g.DrawLine(new Pen(Color.Red, 10), new Point(0, 0), new Point(100, 100));
g.DrawEllipse(new Pen(Brushes.Black), 10, 10, 100, 100);
g.DrawRectangle(new Pen(Brushes.Red), 30, 30, 40, 40);
// Save to a new file
img.Save("test2.png");
}