Delphi уроки -Скриншот страницы в компоненте WebBrpwser

Опубиковано: 05.12.2008 г., автор: , просмотров: 24256

Delphi Уроки: Скриншот страницы в компоненте WebBrpwser

Сегодня мы, будем делать скриншот активной web страницы в компоненте webbrowser. При желании конечно можно проявить фантазию, самостоятельно доработав программу и сделать, например по кадровое видеонаблюдение за пользователем, вообщем смотрите сами тут как говориться на вкус и цвет фломастеры разные ) Ладно поехали.....
Итак нам понадобятся следующие компоненты: WebBrowser с закладки Internet, 2 компонента Button с зкладки Standard.
Для начала после ключевого слова uses допишите ActiveX, jpeg

Далее нам нужно создать небольшую процедурку которая и будет делать скриншоты, поэтому после ключевого слова public пишем:

procedure WebBrowserScreenShot(const wb: TWebBrowser; const fileName: TFileName) ;

Нажимаем комбинацию клавиш CTRL+SHIFT+C, Delphi создаст шаблон процедуры, а вот что должно получиться в итоге:

procedure TForm1.WebBrowserScreenShot(const wb: TWebBrowser;
const fileName: TFileName);
var
viewObject : IViewObject;
r : TRect;
bitmap : TBitmap;
begin
if wb.Document <> nil then
begin
wb.Document.QueryInterface(IViewObject, viewObject) ;
if Assigned(viewObject) then
try
bitmap := TBitmap.Create;
try
r := Rect(0, 0, wb.Width, wb.Height) ;
bitmap.Height := wb.Height;
bitmap.Width := wb.Width;
viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0) ;
with TJPEGImage.Create do
try
Assign(bitmap) ;
SaveToFile(fileName) ;
finally
Free;
end;
finally
bitmap.Free;
end;
finally
viewObject._Release;
end;
end;
end;

*Посмотрите на этот код и на свой шаблон, допишите не достающие строки !

Двигаемся дальше, создаем обработчик событий OnClick на первой кнопке, в нем прописываем вот такую строку:

WebBrowser1.Navigate('http://delphiexpert.ru') ;

Теперь создаем обработчик событий на второй кнопке, между begin ... end пропишите:

WebBrowserScreenShot(WebBrowser1,'c:\WebBrowserImage.jpg') ;

Вот в принципе и все, запускаем проект, нажимаем сначала на первую кнопку - в WebBrouser'e открывается страница www.delphiexpert.ru. Теперь жмем на вторую кнопку и на диске C:\ создается файл с именем WebBroserImage.jpg в котором будет находиться скриншот сайта delphiexpert.ru

На этом всё.

До встречи DelphiExpert.ru !!!



Похожие материалы

Последние из рубрики

Dim565 05 Jan 2011 в 00:00 #
+1 Как выделенную область сохранять?
AKS 05 Jan 2011 в 00:00 #
Виктор, для этого достаточно программно прокрутить скролл-бары до верхней левой точки сохраняемого изображения, подогнать размер браузера под нужный размер и воспользоваться данной функцией. Код не стал писать, хоть он довольно и простой, просто лень)))) если кому-то все-же понадобится, пишите на admin@resforex.ru, разберемся...
Виктор 05 Oct 2010 в 00:00 #
Поясните пожалуйста, как сделать, чтобы сохранялась не вся страница а выделенная область в WebBroser.
Vlad 13 Oct 2009 в 00:00 #
На самом деле пример не полный, т.к. если размер самой страницы больше чем размеры веббраузера то скрин снимется только частично (того, что видно в вебраузере) да ещё и скролы запихает в картинку. А вот как сделать такой же скрин как делают он-лайн сервисы?
Dima 23 May 2009 в 00:00 #
WebBrpwser -> WebBrowser

ОтменитьДобавить комментарий