Webcam Bilder speichern

  • Zitat von Icewarez

    Die erste M?glichkeit ?ber die Zwischenablage:
    Format: Bitmap


    Code
    1. procedure SaveWebcamPicture(strFilename: string;WebcamHandle: THandle);const WM_CAP_EDIT_COPY = WM_USER + 30;var Bitmap : TBitmap;beginBitmap := TBitmap.Create;try Bitmap.PixelFormat := pf24Bit; SendMessage(WebcamHandle,WM_CAP_EDIT_COPY,1,0); Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0); Bitmap.SaveToFile(strFilename);finally FreeAndNil(Bitmap);end;end;



    Zitat von Icewarez

    Beispielaufruf:


    Code
    1. procedure TForm1.Button1Click(Sender: TObject);begin//VideoHandle = Zur?ckgegebenes Handle bei der InitialisierungSaveWebcamPicture('C:\test.bmp',VideoHandle);end;



    Zitat von Icewarez

    Die zweite M?glichkeit ?ber capFileSaveDIB:
    Format: JPEG


    Code
    1. function SaveWebcamPictureDIB(pFileName: PChar;WebcamHandle: THandle):Boolean;const WM_CAP_FILE_SAVEDIB = WM_USER + 25;beginif IsWindow(WebcamHandle) then result := (SendMessage(WebcamHandle,WM_CAP_FILE_SAVEDIB,0,LPARAM(pFileName)) <> 0)else result := false;end;



    Zitat von Icewarez

    Beispielaufruf:



    Code
    1. procedure TForm1.Button1Click(Sender: TObject);
    2. begin
    3. //VideoHandle = Zur?ckgegebenes Handle bei der Initialisierung
    4. SaveWebcamPictureDIB(PChar('C:\test.jpg'),VideoHandle);
    5. end;