I did some searching to try and generate jpg files from an html page and found one solution called IECapt or something similar that requires IE on the server to work...not what
I haven't tried this, but you can try using Control.DrawToBitmap()
.
To draw the watermark you can go like this:
Image img; //the html image.
Image watermark; //the watermark image.
Point location; //where to draw the watermark on the html image.
Graphics g = Graphics.FromImage(img);
g.DrawImage(watermark, location);