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('https://delphiexpert.ru') ;

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

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

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

    На этом всё.

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



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

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

    Until I found this I 07 Oct 2014 в 02:27 #
    Until I found this I thuohgt I'd have to spend the day inside.
    DM 17 Oct 2013 в 06:48 #
    а вот почему то скриншот Флеша не копируеться в картинку
    Стас 14 May 2013 в 00:00 #
    Спасибо большое автору)
    Дмитрий 25 Nov 2012 в 00:00 #
    Большое спасибо. вот бы ещё узнать как использовать эту кортинку в программе не сохраная её в фаил.
    AndrewN 03 Jan 2012 в 00:00 #
    WebBrpwser)))))))

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