该如何对多框架的网页进行截图呢 求高手指教 急。。。。

时间:2022-09-29 23:36:47

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Navigate(TextBox1.Text)

    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Dim i As Integer
        i = String.Compare(e.Url.ToString(), WebBrowser1.Document.Url.ToString())
        If i = 0 Then
            MsgBox("加载完成")
            jt()
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.ScrollBarsEnabled = False

    End Sub
    Sub jt()
        Dim s As String
        s = Date.Now.ToString
        s = s.Replace("-", "")
        s = s.Replace(":", "")
        Dim h As Integer = WebBrowser1.Document.Body.ScrollRectangle.Height '获取打开网页的完整高度
        Dim w As Integer = WebBrowser1.Document.Body.ScrollRectangle.Width '获取打开网页的完整宽度
        Dim rc As Rectangle = New Rectangle(0, 0, w, h) '定义一个方形 以网页宽高为方形宽高 
        WebBrowser1.Size = New Size(w, h) '将webbrowser1空间的尺寸定义为网页的尺寸以便截图
        Dim bit As Bitmap = New Bitmap(w, h) '需要截图的图片大小
        WebBrowser1.DrawToBitmap(bit, rc)
        bit.Save("c:\" + s + TextBox1.Text + ".png", System.Drawing.Imaging.ImageFormat.Png)
        bit.Dispose()
    End Sub
End Class

以上的全部代码,界面上一个webbrowser 一个textbox 一个button 在textbox1里输入网址 点button转到那个网址,后对网页进行截图 现在对多框架的网页截图总是一片空白,在网上看到有这个方法来判断框架页是否加载完成e.Url.ToString(), WebBrowser1.Document.Url.ToString() 但是现在看来这个方法肯定是不行的。。否则为什么截图是空白的图呢。。求高手指导啊!!在线等!!

3 个解决方案

#1


不知道,帮顶

#2


求救ING。。。难道没人知道吗。。。很着急。

#3


還好我目前沒有框架個問題!
收藏先
感謝分享

#1


不知道,帮顶

#2


求救ING。。。难道没人知道吗。。。很着急。

#3


還好我目前沒有框架個問題!
收藏先
感謝分享