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]; } }