示例#1
0
        private void  InitSnapConfigExUI(int nChn)
        {
            if (m_stuSnapAttrEx.m_bQueried[nChn] == 0)
            {
                object result   = new object();
                UInt32 dwRetLen = 0;
                bool   bRet     = bRet = DHClient.DHGetNewDevConfig(m_nLoginID, 0,
                                                                    DHClient.CFG_CMD_SNAPCAPINFO, ref result, typeof(CFG_SNAPCAPINFO_INFO), 0, 3000);
                if (bRet == false)
                {
                    MessageBox.Show("获取设备能力集失败");
                    return;
                }

                m_stuSnapAttrEx.m_stuSnapAttrEx[nChn] = (CFG_SNAPCAPINFO_INFO)result;
                m_stuSnapAttrEx.m_bQueried[nChn]      = 1;
            }

            if (m_stuSnapAttrEx.m_bQueried[nChn] == 0)
            {
                return;
            }

            CFG_SNAPCAPINFO_INFO stuSnapInfo = m_stuSnapAttrEx.m_stuSnapAttrEx[nChn];
            int i = 0;

            this.comboBoxSnapMode.Items.Clear();
            if ((stuSnapInfo.dwMode & 0x00000001) > 0)
            {
                this.comboBoxSnapMode.Items.Add("定时触发抓图");
                m_dicPix["定时触发抓图"] = 0;
            }
            if ((stuSnapInfo.dwMode & 0x00000002) > 0)
            {
                this.comboBoxSnapMode.Items.Add("手动触发抓图");
                m_dicPix["手动触发抓图"] = 1;
            }

            //
            string csFrame = "";

            this.comboBoxSnapSpace.Items.Clear();
            for (i = 0; i < stuSnapInfo.dwFramesPerSecNum; i++)
            {
                if (stuSnapInfo.nFramesPerSecList[i] > 0)
                {
                    csFrame = string.Format("{0:n0} 秒1帧", stuSnapInfo.nFramesPerSecList[i]);
                }
                else if (stuSnapInfo.nFramesPerSecList[i] < 0)
                {
                    csFrame = string.Format("{0:n0} 秒1帧", Math.Abs(stuSnapInfo.nFramesPerSecList[i]));
                }
                m_dicSnapSpace[csFrame] = stuSnapInfo.nFramesPerSecList[i];
            }
            //
            //      IMAGE_SIZE_D1,								// 704*576(PAL)  704*480(NTSC)
            //      IMAGE_SIZE_HD1,								// 352*576(PAL)  352*480(NTSC)
            //      IMAGE_SIZE_BCIF,							// 704*288(PAL)  704*240(NTSC)
            //      IMAGE_SIZE_CIF,								// 352*288(PAL)  352*240(NTSC)
            //      IMAGE_SIZE_QCIF,							// 176*144(PAL)  176*120(NTSC)
            //      IMAGE_SIZE_VGA,								// 640*480
            //      IMAGE_SIZE_QVGA,							// 320*240
            //      IMAGE_SIZE_SVCD,							// 480*480
            //      IMAGE_SIZE_QQVGA,							// 160*128
            //      IMAGE_SIZE_SVGA,							// 800*592
            //      IMAGE_SIZE_XVGA,							// 1024*768
            //      IMAGE_SIZE_WXGA,							// 1280*800
            //      IMAGE_SIZE_SXGA,							// 1280*1024
            //      IMAGE_SIZE_WSXGA,							// 1600*1024
            //      IMAGE_SIZE_UXGA,							// 1600*1200
            //      IMAGE_SIZE_WUXGA,							// 1920*1200
            //      IMAGE_SIZE_LTF,								// 240*192
            //      IMAGE_SIZE_720,								// 1280*720
            //      IMAGE_SIZE_1080,							// 1920*1080
            //      IMAGE_SIZE_1_3M,							// 1280*960
            //      IMAGE_SIZE_NR

            //
            UInt32 dwMask = 0x0001;

            this.comboBoxRe.Items.Clear();
            for (i = 0; i < 32; i++)
            {
                if ((m_stuSnapAttr.stuSnap[nChn].dwVideoStandardMask & dwMask) > 0)
                {
                    foreach (KeyValuePair <string, int> temp in m_dicPix)
                    {
                        if (temp.Value == i)
                        {
                            this.comboBoxRe.Items.Add(temp.Key);
                        }
                    }
                }
                dwMask <<= 1;
            }

            //
            //IMAGE_QUALITY_Q10 = 1,							// 图像质量10%
            //IMAGE_QUALITY_Q30,								// 图像质量30%
            //IMAGE_QUALITY_Q50,								// 图像质量50%
            //IMAGE_QUALITY_Q60,								// 图像质量60%
            //IMAGE_QUALITY_Q80,								// 图像质量80%
            //IMAGE_QUALITY_Q100,								// 图像质量100%
            int[]  nMapQuality = { 0, 10, 30, 50, 60, 80, 100 };
            string csQuality   = "";

            this.comboBoxQuality.Items.Clear();
            for (i = 0; i < stuSnapInfo.dwQualityMun; i++)
            {
                if (stuSnapInfo.emQualityList[i] > 0 && (int)(stuSnapInfo.emQualityList[i]) < 7)
                {
                    csQuality = string.Format("{0:n0}%", nMapQuality[(int)(stuSnapInfo.emQualityList[i])]);
                }

                this.comboBoxQuality.Items.Add(csQuality);
                m_dicQuality[csQuality] = m_stuSnapAttr.stuSnap[nChn].PictureQuality[i];
            }
        }