Exemple #1
0
        public PTZInfo GetPTZInfo(string devIp, int devPort, string userName, string password)
        {
            PTZInfo ptzInfo = new PTZInfo();

            int           userId        = -1;
            DevLoginModel devLoginModel = DeviceLogin(devIp, devPort, userName, password);

            if (devLoginModel != null)
            {
                userId = devLoginModel.LoginId;
            }

            CHCNetSDK.NET_DVR_PTZPOS ptzPos = new CHCNetSDK.NET_DVR_PTZPOS();
            uint   dwReturn  = 0;
            int    nSize     = Marshal.SizeOf(ptzPos);
            IntPtr ptrPtzCfg = Marshal.AllocHGlobal(nSize);

            Marshal.StructureToPtr(ptzPos, ptrPtzCfg, false);

            if (CHCNetSDK.NET_DVR_GetDVRConfig(userId, CHCNetSDK.NET_DVR_GET_PTZPOS, -1, ptrPtzCfg, (UInt32)nSize, ref dwReturn))
            {
                ptzPos = (CHCNetSDK.NET_DVR_PTZPOS)Marshal.PtrToStructure(ptrPtzCfg, typeof(CHCNetSDK.NET_DVR_PTZPOS));

                //成功获取显示ptz参数
                ushort wPanPos = Convert.ToUInt16(Convert.ToString(ptzPos.wPanPos, 16));
                ptzInfo.Pan = wPanPos * 0.1f;
                ushort wTiltPos = Convert.ToUInt16(Convert.ToString(ptzPos.wTiltPos, 16));
                ptzInfo.Tilt = wTiltPos * 0.1f;
                ushort wZoomPos = Convert.ToUInt16(Convert.ToString(ptzPos.wZoomPos, 16));
                ptzInfo.Zoom = wZoomPos * 0.1f;
            }

            Marshal.FreeHGlobal(ptrPtzCfg);
            return(ptzInfo);
        }
Exemple #2
0
        /// <summary>
        /// cameraget
        /// </summary>
        /// <param name="m_lUserID"></param>
        /// <returns></returns>
        public int[] sptz(int m_lUserID)
        {
            int[]  xyz      = new int[3];
            UInt32 dwreturn = 0;

            CHCNetSDK.NET_DVR_PTZPOS x = new CHCNetSDK.NET_DVR_PTZPOS();
            Int32  nSize     = Marshal.SizeOf(x);
            IntPtr ptrPicCfg = Marshal.AllocHGlobal(nSize);

            Marshal.StructureToPtr(x, ptrPicCfg, false);
            bool re       = CHCNetSDK.NET_DVR_GetDVRConfig(m_lUserID, CHCNetSDK.NET_DVR_GET_PTZPOS, 1, ptrPicCfg, (UInt32)nSize, ref dwreturn);
            uint iLastErr = CHCNetSDK.NET_DVR_GetLastError();

            x = (CHCNetSDK.NET_DVR_PTZPOS)Marshal.PtrToStructure(ptrPicCfg, typeof(CHCNetSDK.NET_DVR_PTZPOS));

            loginfo.Info("NET_DVR_GetDVRConfig:" + iLastErr);
            xyz[0] = Convert.ToInt32(x.wPanPos);
            xyz[1] = Convert.ToInt32(x.wTiltPos);
            xyz[2] = Convert.ToInt32(x.wZoomPos);
            loginfo.Info("xyz:" + xyz[0] + xyz[1] + xyz[2]);

            return(xyz);
        }
Exemple #3
0
        private void PtzGet_Click(object sender, EventArgs e)
        {
            UInt32 dwReturn  = 0;
            Int32  nSize     = Marshal.SizeOf(m_struPtzCfg);
            IntPtr ptrPtzCfg = Marshal.AllocHGlobal(nSize);

            Marshal.StructureToPtr(m_struPtzCfg, ptrPtzCfg, false);
            //获取参数失败
            if (!CHCNetSDK.NET_DVR_GetDVRConfig(m_lUserID, CHCNetSDK.NET_DVR_GET_PTZPOS, -1, ptrPtzCfg, (UInt32)nSize, ref dwReturn))
            {
                iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                str      = "NET_DVR_GetDVRConfig failed, error code= " + iLastErr;
                MessageBox.Show(str);
                return;
            }
            else
            {
                m_struPtzCfg = (CHCNetSDK.NET_DVR_PTZPOS)Marshal.PtrToStructure(ptrPtzCfg, typeof(CHCNetSDK.NET_DVR_PTZPOS));
                //成功获取显示ptz参数
                ushort wPanPos = Convert.ToUInt16(Convert.ToString(m_struPtzCfg.wPanPos, 16));
                float  WPanPos = wPanPos * 0.1f;
                textBoxPanPos.Text = Convert.ToString(WPanPos);
                ushort wTiltPos = Convert.ToUInt16(Convert.ToString(m_struPtzCfg.wTiltPos, 16));
                float  WTiltPos = wTiltPos * 0.1f;
                textBoxTiltPos.Text = Convert.ToString(WTiltPos);
                ushort wZoomPos = Convert.ToUInt16(Convert.ToString(m_struPtzCfg.wZoomPos, 16));
                float  WZoomPos = wZoomPos * 0.1f;
                textBoxZoomPos.Text = Convert.ToString(WZoomPos);

                /*textBoxPanPos.Text= Convert.ToString(Convert.ToUInt32(Convert.ToString(m_struPtzCfg.wPanPos,16))*0.1f,10);
                 * textBoxTiltPos.Text = Convert.ToString(Convert.ToUInt32(Convert.ToUInt32(Convert.ToString(m_struPtzCfg.wTiltPos, 16)) * 0.1f), 10);
                 * textBoxZoomPos.Text = Convert.ToString(Convert.ToUInt32(Convert.ToString(m_struPtzCfg.wZoomPos, 16)) * 0.1), 10);*/
                //textBoxPanPos.Text=Convert.ToString(m_struPtzCfg.wPanPos,16);
            }
            return;
        }
Exemple #4
0
 /// <summary>
 /// ameraset
 /// </summary>
 /// <param name="m_lUserID"></param>
 /// <param name="x1"></param>
 /// <param name="y"></param>
 /// <param name="z"></param>
 public void hqtz(int m_lUserID, int x1, int y, int z)
 {
     try
     {
         CHCNetSDK.NET_DVR_PTZPOS x = new CHCNetSDK.NET_DVR_PTZPOS();
         Int32  nSize     = Marshal.SizeOf(x);
         IntPtr ptrPicCfg = Marshal.AllocHGlobal(nSize);
         Marshal.StructureToPtr(x, ptrPicCfg, false);
         x          = (CHCNetSDK.NET_DVR_PTZPOS)Marshal.PtrToStructure(ptrPicCfg, typeof(CHCNetSDK.NET_DVR_PTZPOS));
         x.wAction  = 3;
         x.wPanPos  = Convert.ToUInt16(x1);
         x.wTiltPos = Convert.ToUInt16(y);
         x.wZoomPos = Convert.ToUInt16(z);
         IntPtr ptzPosptr = Marshal.AllocHGlobal((Int32)nSize);
         Marshal.StructureToPtr(x, ptzPosptr, false);
         bool re1      = CHCNetSDK.NET_DVR_SetDVRConfig(m_lUserID, CHCNetSDK.NET_DVR_SET_PTZPOS, 1, ptzPosptr, (UInt32)nSize);
         uint iLastErr = CHCNetSDK.NET_DVR_GetLastError();
         loginfo.Info("NET_DVR_SetDVRConfig:" + iLastErr);
     }
     catch (Exception ex)
     {
         loginfo.Error("hqtz" + ex);;
     }
 }