Я предполагаю, что вы хотите сделать это из ASP.NET (в отличие от приложения WinForms).
В своем веб-проекте добавьте ссылку на System.Windows.Forms (да, это плохая вещь). Затем в своем коде вы можете создать объект типа System.Windows.Forms.WebBrowser:
WebBrowser browser = new WebBrowser();
// this will load up a URL into the web browser:
browser.Navigate(@"http://www.stackoverflow.com");
Далее, просто используйте функцию API BitBlt (извините, у меня нет удобной ссылки), чтобы скопировать графическое отображение элемента управления WebBrowser в растровое изображение (которое затем можно отобразить, сохранить или как угодно). С помощью этой функции свойство Handle WebBrowser является одним из передаваемых параметров.
Обновление: вот ссылка на некоторый код, который делает именно то, что вам нужно: http://www.developerfusion.com/code/4712/generate-an-image-of-a-web-page/