USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  CAPTURAR FOTO COM WEBCAM E SALVA-LÁ
Wellington
não registrado
ENUNCIADA !
Postada em 18/12/2010 20:51 hs   
Caro Huber Fabio,

Aqui apresento uma solução minha, testada e funcionando perfeitamente em Delphi 7 e Delphi 2009.

Espero que te atenda.

Wellington Gomes de Andrade - Eng.


{------------------------------------------------------------------------------
  Procedure "cap_foto_webcam"
  Captura e salva em arquivo bitmap um só frame (foto) da webcam
  Capture and save only one frame (photo) to bitmap file
  Autor:  Wellington Gomes de Andrade - Eng.
  Em:     18/12/2010
  Empresa: Automata Tecnologia - www.automataa.com.br
           email: wellauto@hotmail.com
  -----------------------------------------------------------------------------}
procedure TFCaptura.cap_foto_webcam;
var
  hWnd: THandle;
  bmp: TBitmap;
  formatoBmp: word;
  ADado: THandle;
  APalette: HPALETTE;
begin
  bmp:=TBitmap.Create;

  try
    { Cria o formato bitmap para o clipboard }
    { Create bitmap format to clipboard }
    bmp.SaveToClipboardFormat(formatoBmp,ADado,APalette);
    ClipBoard.SetAsHandle(formatoBmp,ADado);

    { Limpa o objeto TImage }
    { Clear TImage object }
    Image1.Picture.Assign(nil);
    Image1.Refresh;

    { Registro do formato Bitmap }
    { Register bitmap format }
    Image1.Picture.RegisterClipboardFormat(CF_BITMAP,TBitmap);

    { Handle da criação da janela de captura}
    { Creation window Handle}
    hWnd:=capCreateCaptureWindow('ImagemWebCam',  //Janela(window) de captura
                                 WS_CHILD,        //Child (Form)
                                 0,0,             //Esq(Left), cima(top)
                                 640,480,         //Larg(width),Altu(height)
                                 FCaptura.Handle, //Form(parent) Handle
                                 0);              //ID janela (window)
    if hWnd <> 0 then begin
      { Se janela foi criada com sucesso, conectá-la }
      { If window created, connect to }
      if capDriverConnect(hWnd,0) then begin
        { Se conexão com janela foi efetuada }
        { If connected successfully }
        try
          if capGrabFrame(hWnd) then begin
            { Se capturou um frame }
            { If frame captured }
            if capEditCopy(hWnd) then begin
              { Se salvou o frame capturado para o clipboard }
              { If clipboard saved frame}
              bmp.LoadFromClipboardFormat(CF_BITMAP,
                    ClipBoard.GetAsHandle(CF_BITMAP),0);
              bmp.SaveToFile('d:fotosimgwebcam.bmp');
            end;
          end;
        finally
          capDriverDisconnect(hWnd);
        end;
      end;
    end;
    with Image1 do begin
      Width:=440;
      Height:=330;
      Stretch:=true;
      Picture.LoadFromFile('d:fotosimgwebcam.bmp');
    end;
  finally
    bmp.Free;
    ClipBoard.Clear;
  end;
end;
   
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página