J'ai attrapé un code à partir du lien ci-dessous pour générer une capture d'écran d'un contrôle de navigateur Web: http://pietschsoft.com/post/2008/07/C-Generate-WebPage-Thumbmail-Screenshot-Image.aspxGénérer Screenshot De WebBrowser contrôle
Puis, je l'ai modifié pour être une méthode d'extension comme ceci:
public static Bitmap GetScreenshot(this WebBrowser webBrowser)
{
// Load the webpage into a WebBrowser control
using (WebBrowser wb = new WebBrowser())
{
wb.ScrollBarsEnabled = false;
wb.ScriptErrorsSuppressed = true;
wb.Navigate(webBrowser.Url);
while (wb.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
// Set the size of the WebBrowser control
wb.Width = wb.Document.Body.ScrollRectangle.Width;
wb.Height = wb.Document.Body.ScrollRectangle.Height;
// Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control
Bitmap bitmap = new Bitmap(wb.Width, wb.Height);
wb.DrawToBitmap(bitmap, new Rectangle(0, 0, wb.Width, wb.Height));
return bitmap;
}
}
Cela fonctionne très bien pour la plupart des pages Web, mais j'essaie de l'utiliser pour un site SharePoint et l'image sort à 250x250 à chaque fois. : -s
Des génies ici qui peuvent me donner une solution?
Merci à l'avance
Bon tant pis que la théorie ... Je suis d'être épais ... il était nul parce DocumentCompleted n'a pas encore été appelée en tout cas, il me reste le problème et aussi la plupart du temps obtenir une image blanche vide tout le temps aussi bien. – Matt