Я хочу сделать скриншот элемента Div в asp.net и сохранить его на диск. Я не хочу использовать библиотеку html2canvas или элемент холста html5. Подход может быть на стороне сервера или на стороне клиента.
Скриншот Div в asp.net
comment
что вы держите в этом div?
- person İsmet Alkan   schedule 14.04.2013
comment
div содержит текст и изображения...
- person pgmanutd   schedule 14.04.2013
comment
Попросить посетителей сделать снимок экрана и загрузить его не соответствует вашим требованиям? :-P (на всякий случай)
- person Linus Caldwell   schedule 14.04.2013
comment
позвольте мне привести пример......рассмотрите omegle.......посмотрите на эту ссылку link... как видите, чат преобразуется в изображение... то же самое я хочу сделать...
- person pgmanutd   schedule 14.04.2013
Ответы (1)
Не проверял, но нашел это:
public Bitmap GenerateScreenshot(string url, int width, int height)
{
// Load the webpage into a WebBrowser control
WebBrowser wb = new WebBrowser();
wb.ScrollBarsEnabled = false;
wb.ScriptErrorsSuppressed = true;
wb.Navigate(url);
while (wb.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
// Set the size of the WebBrowser control
wb.Width = width;
wb.Height = height;
if (width == -1)
{
// Take Screenshot of the web pages full width
wb.Width = wb.Document.Body.ScrollRectangle.Width;
}
if (height == -1)
{
// Take Screenshot of the web pages full height
wb.Height = wb.Document.Body.ScrollRectangle.Height;
}
// Get a Bitmap representation of the webpage as it's rendered in the WebBrowser control
Bitmap bitmap = new Bitmap(wb.Width, wb.Height);
wb.DrawToBitmap(bitmap, new Rectangle(0, 0, wb.Width, wb.Height));
wb.Dispose();
return bitmap;
}
http://pietschsoft.com/post/2008/07/c-generate-webpage-thumbmail-screenshot-image.aspx
person
Joey Gennari
schedule
13.04.2013
я уже прошел через этот код.... это функция, основанная на форме Windows, поскольку класс веб-браузера присутствует в пространстве имен system.windows.forms... и использовать формы Windows в asp.net было бы плохой идеей... в любом случае, спасибо за ответ... больше предложений приветствуется :)... я все еще не понимаю, почему omegle делает то же самое... как эта ссылка ссылка
- person pgmanutd; 14.04.2013
Вам почти наверняка понадобится третья сторона. phantomjs.org кажется наиболее поддерживаемым. Нужен только один exe.
- person Joey Gennari; 14.04.2013
Есть некоторые соображения по поводу многопоточности, но загрузка элемента управления WebBrowser прекрасно работает в asp.net. Я сам использовал что-то подобное.
- person LouD; 14.04.2013
я посмотрю на эту вещь .... больше идей приветствуются .... кто-нибудь знает о технике захвата omegle Div?
- person pgmanutd; 14.04.2013