Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-03-2016
Ramsay Ramsay is offline
Miembro
NULL
 
Registrado: ene 2016
Posts: 104
Poder: 9
Ramsay Va por buen camino
Foto de webcam con VFrames

Hola ,estoy tratando de realizar una foto de una webcam activa , el codigo :

Código Delphi [-]
procedure take_photo;

var
  bit: TBitmap;
  Bmp: TBitmap;
  invisible_paint: TPaintBox;
  DeviceList: TStringList;
  video: TVideoImage;

begin

  DeviceList := TStringList.Create;

  invisible_paint := TPaintBox.Create(nil);
  invisible_paint.Width := 400;
  invisible_paint.Height := 400;
  invisible_paint.Align := alClient;

  video := TVideoImage.Create;
  video.GetListOfDevices(DeviceList);
  video.SetDisplayCanvas(invisible_paint.Canvas);
  video.VideoStart(DeviceList[0]);

  bit := TBitmap.Create;
  bit.PixelFormat := pf24bit;
  video.GetBitmap(bit);
  bit.SaveToFile('test.bmp');

  video.VideoStop;

  bit.Free;
  invisible_paint.Free;
  video.Free;
  DeviceList.Free;

end;

Es una funcion en una aplicacion de consola , el problema es que siempre me genera un bmp vacio con todo balnco o verde. ¿ Como soluciono este problema ?
Responder Con Cita
  #2  
Antiguo 11-03-2016
Ramsay Ramsay is offline
Miembro
NULL
 
Registrado: ene 2016
Posts: 104
Poder: 9
Ramsay Va por buen camino
Ya descubri cual es el problema , cuando se carga la webcam en una imagen , primero se muestra blanco y despues carga la webcam , lo mismo pasa ahora , intente usando Sleep o Application.ProcessMessages para evitar esto , pero continua igual.
Responder Con Cita
  #3  
Antiguo 11-03-2016
Ramsay Ramsay is offline
Miembro
NULL
 
Registrado: ene 2016
Posts: 104
Poder: 9
Ramsay Va por buen camino
Ya encontre una forma que funciona , ahora estoy usando eventos en una unit :

Código Delphi [-]
    unit capture;
    
    interface
    
    uses SysUtils, Windows, Jpeg, Vcl.Graphics, VSample,
      VFrames, Classes;
    
    var
      m1: TMethod;
      video: TVideoImage;
    
    function capture_webcam(): boolean;
    
    implementation
    
    procedure OnNewVideoFrame(ASelf:Pointer; Width, Height: integer;
      DataPtr: Pointer);
    begin
      // start the code
    end;
    
    function capture_webcam(): boolean;
    var
      DeviceList: TStringList;
    begin
    
      DeviceList := TStringList.Create;
    
      video := TVideoImage.Create;
      video.GetListOfDevices(DeviceList);
      video.VideoStart(DeviceList[0]);
    
      m1.code := @OnNewVideoFrame;
      m1.Data := video;
    
      video.OnNewVideoFrame := TNewVideoFrameEvent(m1);
    
    end;
    
    //
    
    end.
Todo compila bien pero cuando ejecuto la funcion me devuelve este error : access violation at 0x0018fdee: write of address 0x00000000

Solo es ese detalle , ya funciona todo , ¿ alguien sabe cual es el problema al crear el evento ? porque funciona en otros eventos pero en este no.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
WebCam samame API de Windows 60 25-02-2008 10:44:23
poner foto en el centro de otra foto kapullok_2006 Gráficos 1 22-10-2007 17:52:10
architect dvd 3.0 entre foto y foto tulajvs Gráficos 2 06-11-2006 10:11:02
entre foto y foto, architect dvd 3.0 tulajvs Varios 2 05-09-2006 15:03:48
webcam, escaner y fax alt126 .NET 0 28-05-2006 16:59:40


La franja horaria es GMT +2. Ahora son las 17:04:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi