如何在delphi 程序中显示摄相投中的图象(类似于qq中的视频聊天),并且抓取其中的图片保存到指定的文件加?
  急着用,请高手赐教!

解决方案 »

  1.   

    在Wvideo单元中:
    procedure TVideo.SingleImageBtnClick(Sender: TObject);
    var
      SingleImageFileName : string;
    begin
       if SingleImageBtn.Caption='拍照' then
          SingleImageBtn.Caption:='重拍';   SingleImageFileName:=GetWinTempDir+ 'MyPhotoFile.bmp';   if FileExists(SingleImageFileName) then //先删除同名存在的文件
               DeleteFile(SingleImageFileName);  CapSetSingleImageFileName( SingleImageFileName );
      CapGrabSingleFrame;
      CapSetVideoLive;
      Image2.Picture.LoadFromFile(SingleImageFileName);end;
      

  2.   

    顺便把流操作语句给你贴出来:var
      SearchQry: TADOQuery;
      LoadTmpPhotoFileName,temstr: string;
      BlobStream: TADOBlobStream;
    begin
        SearchQry := TAdoQuery.Create(nil);
        try
          with SearchQry do
          begin
            Connection := FrmDm.AdoStandard;
            Close;
            Sql.Clear;
            Sql.Add();
            Prepared;
            Open;
            if not eof then
            begin
             try
                BlobStream := TADOBlobStream.Create(TBlobField(FieldByName('Photo')), bmRead);
                LoadTmpPhotoFileName := GetWinTempDir + LblName.Caption + ExtFileName;;
                if FileExists(LoadTmpPhotoFileName) then //先删除同名存在的文件
                  DeleteFile(LoadTmpPhotoFileName);
                BlobStream.SaveToFile(LoadTmpPhotoFileName);            if GetFileSize(LoadTmpPhotoFileName) > 0 then
                  APhoto.Picture.LoadFromFile(LoadTmpPhotoFileName);          finally
                BlobStream.Free;
              end;
            end;
          end ;
        finally
          SearchQry.Free;
        end;
      end;