【问题标题】:Take Screenshots of WebBrowser Control截取 WebBrowser 控件的屏幕截图
【发布时间】:2010-09-10 06:28:53
【问题描述】:

有人可以分享代码以截取网络浏览器控件并将其保存在预定路径中。

我正在使用 VS 2008 .Net 3.5。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    您可以使用 Control.DrawToBitmap(),即使它在 VisualStudio 中对 Intellisense 是隐藏的。 WebBrowser 仍然继承自基类 Control,所以这个方法确实存在。但我所做的是创建一个带有 MenuItem 的 MenuStrip,用于测试它(这基本上只是一个标准的单击事件),而是创建了一个图形对象,并使用正确的坐标复制了屏幕的一部分。唯一需要真正调整的是 WebBrowser 控件的名称,以及实际保存图像的行。

    private void copyToolStripMenuItem_Click(object sender, EventArgs e) {
        int width, height;
        width   = webBrowser1.ClientRectangle.Width;
        height  = webBrowser1.ClientRectangle.Height;
        using (Bitmap image = new Bitmap(width, height)) {
            using (Graphics graphics = Graphics.FromImage(image)) {
                Point p, upperLeftSource, upperLeftDestination;
                p                       = new Point(0, 0);
                upperLeftSource         = webBrowser1.PointToScreen(p);
                upperLeftDestination    = new Point(0, 0);
                Size blockRegionSize = webBrowser1.ClientRectangle.Size;
                graphics.CopyFromScreen(upperLeftSource, upperLeftDestination, blockRegionSize);
            }
            image.Save("C:\\Test.bmp");
        }
    }
    

    【讨论】:

    • 像魅力一样工作。谢谢!
    【解决方案2】:

    这里有一个article 来说明这一点。还有another。还有even more

    【讨论】:

      猜你喜欢
      • 2021-11-14
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 2014-09-26
      • 2012-03-10
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多