asp.net 截屏

复制代码
  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);
            }
        }
    }
复制代码

 

posted @   小小高  阅读(344)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示