delphixe ivms-4200 抓拍图片 读取
时间: 2023-09-11 07:12:14 浏览: 79
您可以按照以下步骤从 iVMS-4200 中读取抓拍图片:
1. 打开iVMS-4200软件,并登录到您的设备。
2. 在左侧的设备列表中选择您要查看的摄像头。
3. 单击“抓图”按钮,即可将当前画面保存为图片。
4. 图片将自动保存到默认的本地存储位置,您可以在“本地录像”选项卡中找到它们。
5. 如果您想要将图片保存到其他位置,可以右键单击图片并选择“另存为”选项,然后选择您要保存到的位置。
注意:在进行这些操作之前,请确保您已经获得了相应设备的管理权限。
相关问题
delphixe 读取ivms-4200抓拍图片 代码
您可以使用以下 Delphi 代码来读取 iVMS-4200 抓拍图片:
```delphi
function GetSnapPicture(const fileName: WideString; const channel: Integer; const time: TDateTime): Boolean;
var
hSnapPic: LongInt;
strFileName: WideString;
strTime: TTime;
begin
Result := False;
// 构建文件名和时间参数
strFileName := fileName + '.jpg';
strTime := TimeOf(time);
// 打开图片
hSnapPic := NET_DVR_GetSnapPic(channel, strFileName, strTime);
if hSnapPic > 0 then
begin
try
// 读取图片数据
if NET_DVR_PlayBackCaptureFile(hSnapPic, PChar(strFileName)) then
begin
Result := True;
end;
finally
// 关闭图片
NET_DVR_ClosePlayBackCaptureFile(hSnapPic);
end;
end;
end;
```
在上面的代码中,`fileName` 是要保存的文件名,`channel` 是摄像头通道号,`time` 是抓拍时间。该函数会返回一个布尔值,表示是否成功读取抓拍图片。请注意,您需要使用 iVMS-4200 SDK 来调用 `NET_DVR_GetSnapPic` 和 `NET_DVR_PlayBackCaptureFile` 函数。
delphixe ivms-4200 api 读取事件
您可以使用以下 Delphi 代码来读取 iVMS-4200 的事件:
```delphi
procedure GetEvent(const deviceIP: string; const user: string; const password: string);
var
lUserID: LongInt;
struEventParam: NET_DVR_SEARCH_EVENT_PARAM_V40;
struSearchCond: NET_DVR_SEARCHCOND_V40;
struEvent: NET_DVR_SEARCH_EVENT_V40;
dwReturned: DWORD;
dwTotal: DWORD;
i: Integer;
begin
// 登录设备
lUserID := NET_DVR_Login_V40(PChar(deviceIP), 0, PChar(user), PChar(password), nil);
if lUserID < 0 then
begin
ShowMessage('登录设备失败');
Exit;
end;
try
// 设置事件查询参数
ZeroMemory(@struEventParam, SizeOf(struEventParam));
struEventParam.dwSize := SizeOf(struEventParam);
struEventParam.struStartTime.dwYear := 2022;
struEventParam.struStartTime.dwMonth := 1;
struEventParam.struStartTime.dwDay := 1;
struEventParam.struStartTime.dwHour := 0;
struEventParam.struStartTime.dwMinute := 0;
struEventParam.struStartTime.dwSecond := 0;
struEventParam.struEndTime.dwYear := 2022;
struEventParam.struEndTime.dwMonth := 1;
struEventParam.struEndTime.dwDay := 31;
struEventParam.struEndTime.dwHour := 23;
struEventParam.struEndTime.dwMinute := 59;
struEventParam.struEndTime.dwSecond := 59;
// 设置事件查询条件
ZeroMemory(@struSearchCond, SizeOf(struSearchCond));
struSearchCond.dwSize := SizeOf(struSearchCond);
struSearchCond.struStartTime := struEventParam.struStartTime;
struSearchCond.struEndTime := struEventParam.struEndTime;
struSearchCond.dwEventTypeBitMask := $1FF;
struSearchCond.bySearchType := 1;
// 查询事件
ZeroMemory(@struEvent, SizeOf(struEvent));
struEvent.dwSearchEventMode := 0;
struEvent.struSearchParam := struSearchCond;
struEvent.dwMaxResults := 100;
dwReturned := 0;
dwTotal := 0;
if NET_DVR_SearchEvents_V40(lUserID, struEventParam, struEvent, SizeOf(struEvent), @dwReturned, @dwTotal) then
begin
for i := 0 to dwReturned - 1 do
begin
// 处理事件
// ...
end;
end;
finally
// 登出设备
NET_DVR_Logout(lUserID);
end;
end;
```
在上面的代码中,`deviceIP` 是设备的IP地址,`user` 和 `password` 是登录设备的用户名和密码。该函数会查询指定时间范围内的所有事件,并逐个处理它们。请注意,您需要使用 iVMS-4200 SDK 来调用 `NET_DVR_Login_V40`、`NET_DVR_SearchEvents_V40` 和 `NET_DVR_Logout` 函数。