我想显示当用户将鼠标悬停在链接上时我链接到的外部网站的缩略图,类似于snap.com执行此操作的方式。我怎样才能完成同样的事情?
答案 0 :(得分:1)
尝试使用System.Windows.Forms.WebBrowser。像这样:
void GetWebImage()
{
WebBrowser browser = new WebBrowser();
browser.Size = new Size(200, 150);
browser.ScrollBarsEnabled = false;
browser.Navigate("http://www.stackoverflow.com");
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
// release temporary e.g. some threading resources ...
}
Bitmap bitmap = new Bitmap(200, 150);
browser.DrawToBitmap(bitmap, new Rectangle(browser.Location.X, browser.Location.Y, browser.Width, browser.Height));
}
并在STA线程中运行:
Thread threas = new Thread(new ThreadStart(GetWebImage));
threas.SetApartmentState(ApartmentState.STA);
threas.Start();
然后你可以将Bitmap保存到文件系统,或者你可以在Http Handler中使用该代码,并且在一些鼠标事件之后使用简单的javascript代码显示它。