Add:
using System.Drawing.Imaging;
and the last problem goes away.
The others? Will, it may be that you don't have System.Windows.Forms in you list of
using
files, and you could add it, but I suspect that you don't have it because your application is not Windows Forms - it is Web based.
If so, then no matter what you do, you cannot take a screen shot of the client computer - security will not let you. You can probably take a screen shot of the server computer, and it may even appear to work (i.e. take a screenshot of the client) while you are testing, but when you move to the production system where the server and client are different computers, it will fail. Guaranteed.