采用SDK进行回调抓图,不是浏览抓图,这个是没有问题的。1、首先进行请求网络抓图
mySNAP_PARAMS.Channel :=1; // 抓图的通道
mySNAP_PARAMS.Quality :=4; // 画质;1~6
mySNAP_PARAMS.ImageSize :=1; // 画面大小;0:QCIF,1:CIF,2:D1
mySNAP_PARAMS.mode :=0; // 抓图模式;0:表示请求一帧,1:表示定时发送请求,2:表示连续请求
mySNAP_PARAMS.InterSnap :=1; // 时间单位秒;若mode=1表示定时发送请求时,此时间有效
mySNAP_PARAMS.CmdSerial :=1; // 请求序列号
CLIENT_SnapPicture(devHandle,mySNAP_PARAMS);
2、回调函数
procedure SnapPicRet( ILoginID: LongInt; pBuf:Pchar; RevLen:Word; EncodeType:Word;CmdSerial: LongWord;dwUser: LongWord); stdcall;
Var FS:TfileStream;
Begin
GetMem(pBuf,RevLen);
FS:=TFileStream.Create('E:\1.JPG', fmCreate);
FS.Write(pBuf^, RevLen);
FS.Free;
End;得到图片有大小,但是无法得到图象,不知道啥问题???
mySNAP_PARAMS.Channel :=1; // 抓图的通道
mySNAP_PARAMS.Quality :=4; // 画质;1~6
mySNAP_PARAMS.ImageSize :=1; // 画面大小;0:QCIF,1:CIF,2:D1
mySNAP_PARAMS.mode :=0; // 抓图模式;0:表示请求一帧,1:表示定时发送请求,2:表示连续请求
mySNAP_PARAMS.InterSnap :=1; // 时间单位秒;若mode=1表示定时发送请求时,此时间有效
mySNAP_PARAMS.CmdSerial :=1; // 请求序列号
CLIENT_SnapPicture(devHandle,mySNAP_PARAMS);
2、回调函数
procedure SnapPicRet( ILoginID: LongInt; pBuf:Pchar; RevLen:Word; EncodeType:Word;CmdSerial: LongWord;dwUser: LongWord); stdcall;
Var FS:TfileStream;
Begin
GetMem(pBuf,RevLen);
FS:=TFileStream.Create('E:\1.JPG', fmCreate);
FS.Write(pBuf^, RevLen);
FS.Free;
End;得到图片有大小,但是无法得到图象,不知道啥问题???
FS.Write(pBuf^, RevLen);
FS.Free;问题肯定是在这!觉得应该先判断文件是否存在,存在就先删了在创建流。