Скриншот страницы в компоненте 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

На этом всё.
Теги:
WebBrpwser
Добавлено: 01 Августа 2018 08:42:10 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...