2012-02-13 5 views
0

Я думаю об использовании объекта WebBrowser для создания снимка экрана страницы, которую посетил пользователь (путем захвата URL-адреса). Часть класса будет выглядеть примерно так, как показано ниже. Это внутреннее приложение, и причина заключается в том, чтобы позволить пользователю увидеть, как динамическая страница просматривалась несколько месяцев назад при последнем посещении.ASP.NET - Захват снимка экрана

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 на странице ASP.NET?

+2

здесь смотрите: http://stackoverflow.com/questions/5172478/taking-screenshot-of-aspx-page –

ответ

1

Я думаю, что это ваша связь.
problem using winforms WebBrowser in asp.net

Этот код проекта страницы, кажется, есть решение и переговоры о преимуществах него http://www.codeproject.com/Articles/50544/Using-the-WebBrowser-Control-in-ASP-NET

Его решения, кажется, требует трех нитей, чтобы использовать элемент управления;

, возможно, лучшие варианты были бы взять через Javascript, а затем разместить информацию обратно через Ajax вызова, посмотрите на эту библиотеку Javascript, что делает его http://html2canvas.hertzen.com/

, если вы собираетесь с WebBrowser подходом Att в нижней части этого вопроса C# код для захвата изображения

Take a screenshot of a webpage with JavaScript?

Смежные вопросы