MFC 在视频窗口上面画图

海康视频ocx开发
使用MFC进行开发是怎么在视频窗口上面就行画图?

我用一个窗口叠加在视频窗口上面化但是视频在播放的时候画图窗口就被视频窗口给挡住了。

海康的api有另外一个接口,只获取视频流,没有人脸框的,IPC_SetStreamEvent,这个api是通过注册回调函数来返回视频帧,不需要传递窗口句柄。

BLApi.IPC_LoadClientDll();

        IntPtr ipcModule = BLApi.IPC_FindClientDll(ipcType);
        IntPtr ipcHandle = BLApi.IPC_Create(ipcModule);
        int result = BLApi.IPC_Login(ipcModule, ipcHandle, ip, port, user, password);
        if (result == 0)
            result &= BLApi.IPC_SetStreamEvent(ipcModule, ipcHandle, _captureStreamCallback, IntPtr.Zero);

        if (result == 0)
        {
            result &= BLApi.IPC_OpenStream(ipcModule, ipcHandle, "1", 1, 0, 0, IntPtr.Zero);
        }


传递窗口句柄的接口,是无法在其上面画图的,他直接调用底层的画图api,把其上所有的控件都覆盖了。

你想在视频流上面画什么 ,你是想标记一个区域吗?我以前做好调用海康的sdk,然后在视频流上方绘制一个区域标记

理论上来说,应该继承被画的控件类picture,然后在OnPaint函数里写字. 可能会帮助到你.

海康的视频播放是用的ds吧,ds的话通过控件的dc直接绘制就可以