DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como tirar uma ScreenShot do WebBrowser.

Seguindo em uma série de dicas sobre o WebBrowser, hoje
vamos analisar como fotografar o mesmo, ou em outras palavras,
tirar um ScreenShot do WebBrowser.

Uma simples procedimento resolve o problema, veja o código:

Antes lembra-se de dar uses das units necessárias:

Winapi.ActiveX, SHDocVw, Winapi.Windows e Vcl.Graphics.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
procedure 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;

Exemplo de uso:
Capturando a tela do WebBrowser e salvando na pasta do executável.

1
2
3
4
5
procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowserScreenShot(WebBrowser1, ExtractFilePath(Application.ExeName) +
    'meu_navegador.jpg');
end;

Espero que seja útil a todos!

Qualquer dúvida ou sugestão, deixe nos comentários do post.

Facebook Comments Box
  • Giovani Da Cruz
  • 2.910 views
  • 0 comentários
  • 13 de novembro de 2016

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados