Einzelnen Beitrag anzeigen

loetmann

Registriert seit: 22. Dez 2003
Ort: Rostock
33 Beiträge
 
Delphi 3 Standard
 
#38

Re: Webcam Bild (JPG) per FTP-Uploaden

  Alt 6. Sep 2007, 22:16
Zitat von internetnavigator:
bitte!! ich brauche nur den code, damit das Programm auch bei maximierten Fenstern, wenn es nicht im Vordergrund ist, weiterläuft. BITTE!
mfg

SendMessage(ghCapWnd, WM_CAP_GRAB_FRAME_NOSTOP, 1, 0); //weitergrabben wenn Anwendung minimiert oder verdeckt ist

Delphi-Quellcode:
  

//das im Timer aufrufen
...
capSetCallbackOnFrame(ghCapWnd, integer(@FrameCallbackFunction));
...


uses VideoCap, avicap, VideoMci;

//grabben über callback fuction
function FrameCallbackFunction(AHandle : hWnd; VIDEOHDR : TVideoHDRPtr): bool; stdcall;
begin
 result := true;
  // da diese Callback-Funktion sonst bei jedem Preview-Frame ganz durchlaufen werden würde:
  // jetzt nur noch mehr dann, wenn draußen GrabFrameFlag auf TRUE gesetzt wurde PLUS, für die
  // Hintergrundlaufbarkeit: SendMessage(ghCapWnd, WM_CAP_GRAB_FRAME_NOSTOP, 1, 0);

  if GrabFrameFlag = false then exit;
  GrabFrameFlag := false;

  SendMessage(ghCapWnd, WM_CAP_GRAB_FRAME_NOSTOP, 1, 0);

  //erzeuge Grundbildmaße
 with Form1 do
 begin
   with camBitmapInfo.bmiHeader do
   begin
    bild_anzeige.Width:=biWidth;
    bild_anzeige.Height:=biHeight;
    bild_original.Width:=biWidth;
    bild_original.Height:=biHeight;
    bild_old.Width:=biWidth;
    bild_old.Height:=biHeight;
    bild_anzeige.PixelFormat:=pf24bit; //truecolorBild
    bild_original.PixelFormat:=pf24bit; //truecolorBild
    bild_old.PixelFormat:= pf24bit;
   end;

  hCompatibleBitmap:=bild_original.Handle;
  //function sets the bits of color data for a bitmap to the specified values.
  SetBitmapBits(hCompatibleBitmap,VideoHDR^.dwBufferLength,VideoHDR^.lpData); //return= anzahl bytes
 
 //Bild jetzt in bild_original
 ...
 

 end;//form1
 GrabFrameFlag := true;
end;
  Mit Zitat antworten Zitat