1. 程式人生 > >asp.net 截屏

asp.net 截屏

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 截屏