首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ASP.NET -捕获屏幕截图

ASP.NET -捕获屏幕截图
EN

Stack Overflow用户
提问于 2012-02-14 04:53:27
回答 1查看 3.9K关注 0票数 0

我正在考虑使用WebBrowser对象来创建用户访问过的页面的屏幕截图(通过捕获URL)。类的一部分将看起来像下面的the。这是一个内部应用程序,其原因是允许用户查看几个月前他们上次访问时的动态页面外观。

代码语言:javascript
运行
复制
Public Function ConvertPage(ByVal PageUrl As String) As Bitmap
        Me.PageUrl = PageUrl
        Dim thrCurrent As New Thread(New ThreadStart(AddressOf CreateImage))
        thrCurrent.SetApartmentState(ApartmentState.STA)
        thrCurrent.Start()
        thrCurrent.Join()
        CreateImage()
        Return ConvertedImage
    End Function
Private Sub CreateImage()

    Dim BrowsePage As New WebBrowser()
    BrowsePage.ScrollBarsEnabled = False
    BrowsePage.Navigate(PageUrl)
    AddHandler BrowsePage.DocumentCompleted, AddressOf _
WebBrowser_DocumentCompleted

    While BrowsePage.ReadyState <> WebBrowserReadyState.Complete
        Application.DoEvents()
    End While
    BrowsePage.Dispose()
End Sub

今天早些时候,我读了一个条目(我想它在这里),回答者建议提问者避免这种方法。我没有这篇文章的链接。在你的视图中使用WebBrowser对象是不是一个糟糕的方法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-14 05:11:18

我想这就是你想要的链接。

problem using winforms WebBrowser in asp.net

这个代码项目页面似乎有一个解决方案,并讨论了it http://www.codeproject.com/Articles/50544/Using-the-WebBrowser-Control-in-ASP-NET的优点。

他的解决方案似乎需要三个线程才能使用控件;

也许更好的选择是通过Javascript,然后通过ajax调用将信息发送回来,看看这个实现http://html2canvas.hertzen.com/的Javascript库

如果您使用for浏览器的方法,那么这个问题的底部就是用于捕获图像的c#代码

Take a screenshot of a webpage with JavaScript?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9267850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档