asp.net 截屏
阿新 • • 發佈:2017-09-16
system args sta apt capture 可能 new navig body
public class HomeController : Controller { // // GET: /Home/ static System.Windows.Forms.WebBrowser wb; public void ScreenCapture() { System.Threading.Thread t = new System.Threading.Thread(new ThreadStart(() => { wb= new System.Windows.Forms.WebBrowser(); wb.DocumentCompleted += wb_DocumentCompleted; wb.Navigate("https://www.baidu.com/"); while (wb.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete) { System.Windows.Forms.Application.DoEvents();//避免假死,若去掉則可能無法觸發 DocumentCompleted 事件。 } }) ); t.SetApartmentState(ApartmentState.STA); t.Start(); } void wb_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e) {//設置瀏覽器寬度、高度為文檔寬度、高度,以便截取整個網頁。 //wb.Width = wb.Document.Body.ScrollRectangle.Width; //wb.Height = wb.Document.Body.ScrollRectangle.Height; wb.Width = 1366; wb.Height = wb.Document.Body.ScrollRectangle.Height; using (Bitmap bmp = new Bitmap(wb.Width, wb.Height)) { wb.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height)); bmp.Save("C:\\Capture1.png", ImageFormat.Png); } } }
asp.net 截屏