Снимок странички по url - C#
Формулировка задачи:
Добрый день!
Может кто подскажет как сделать программно скриншот странички сайта, не используя элемент webbrowser?
Таких страничек ~1000, и если для каждой параллельно создавать webbrowser, загружать страничку, делать скриншот, то по-моему получится какой-то ад.
Программно я уже знаю html сайта, его url, может быть мне с помощью какой-нибудь библиотеки строить из имеющегося html страничку, а потом делать её скриншот?
Заранее спасибо, буду благодарен за любые идеи!
Решение задачи: «Снимок странички по url»
textual
Листинг программы
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication
{
class WebsiteCaptureMaker
{
private WebBrowser internetBrowser;
public WebsiteCaptureMaker()
{
internetBrowser = new WebBrowser();
internetBrowser.ScrollBarsEnabled = false;
internetBrowser.ScriptErrorsSuppressed = true;
}
public Bitmap MakeScreenshot(string _websiteURL)
{
internetBrowser.Navigate(_websiteURL);
while (internetBrowser.ReadyState != WebBrowserReadyState.Complete || internetBrowser.IsBusy)
Application.DoEvents();
internetBrowser.Width = internetBrowser.Document.Body.ScrollRectangle.Width;
internetBrowser.Height = internetBrowser.Document.Body.ScrollRectangle.Height;
Bitmap websiteScreenshot = new Bitmap(internetBrowser.Width, internetBrowser.Height);
internetBrowser.DrawToBitmap(websiteScreenshot, new Rectangle(0, 0, internetBrowser.Width, internetBrowser.Height));
return websiteScreenshot;
}
public void Dispose()
{
internetBrowser.Dispose();
}
}
}