Esempio n. 1
0
        private void btnApplyOSDBuffer_Click(object sender, EventArgs e)
        {
            // SPECIFY A FILE TO READ FROM
            //
            FileStream fsSource = new FileStream(m_strBinaryFilePath, FileMode.Open, FileAccess.Read);

            m_bytesOSDBuffer = new byte[fsSource.Length];

            int numBytesToRead = (int)fsSource.Length;

            int numBytesRead = 0;

            int nRead = fsSource.Read(m_bytesOSDBuffer, numBytesRead, numBytesToRead);

            fsSource.Close();

            if (nRead == 0)
            {
                return;
            }

            m_pinnedOSDArray = GCHandle.Alloc(m_bytesOSDBuffer, GCHandleType.Pinned);

            m_pointerOSDAry = m_pinnedOSDArray.AddrOfPinnedObject();

            m_nOsdNum3 = (uint)comboxOSDLayer3.SelectedIndex;

            m_xoffset3 = Convert.ToInt32(txtBox_Xoffset3.Text);

            m_yoffset3 = Convert.ToInt32(txtBox_Yoffset3.Text);

            m_width3 = Convert.ToInt32(txtBox_width3.Text);

            m_height3 = Convert.ToInt32(txtBox_height3.Text);

            m_nTransparent3 = Convert.ToUInt32(txtBox_Transparent3.Text);

            uint nOSDColorSpace = (uint)EXPORTS.ColorSpaceTypeEnum.QCAP_COLORSPACE_TYEP_RGB24;

            if (comboOSDBufferColorSpace.SelectedIndex == 0)
            {
                nOSDColorSpace = (uint)EXPORTS.ColorSpaceTypeEnum.QCAP_COLORSPACE_TYEP_YUY2;
            }

            if (comboOSDBufferColorSpace.SelectedIndex == 1)
            {
                nOSDColorSpace = (uint)EXPORTS.ColorSpaceTypeEnum.QCAP_COLORSPACE_TYEP_YV12;
            }

            if (comboOSDBufferColorSpace.SelectedIndex == 2)
            {
                nOSDColorSpace = (uint)EXPORTS.ColorSpaceTypeEnum.QCAP_COLORSPACE_TYEP_RGB24;
            }

            if (comboOSDBufferColorSpace.SelectedIndex == 3)
            {
                nOSDColorSpace = (uint)EXPORTS.ColorSpaceTypeEnum.QCAP_COLORSPACE_TYEP_BGR24;
            }

            if (comboOSDBufferColorSpace.SelectedIndex == 4)
            {
                nOSDColorSpace = (uint)EXPORTS.ColorSpaceTypeEnum.QCAP_COLORSPACE_TYEP_ARGB32;
            }

            if (comboOSDBufferColorSpace.SelectedIndex == 5)
            {
                nOSDColorSpace = (uint)EXPORTS.ColorSpaceTypeEnum.QCAP_COLORSPACE_TYEP_ABGR32;
            }

            uint nOSDBufferWidth = Convert.ToUInt32(textBoxOSDBufferWidth.Text);

            uint nOSDBufferHeight = Convert.ToUInt32(textBoxOSDBufferHeight.Text);

            if (m_hCapDev[0] != 0)
            {
                EXPORTS.QCAP_SET_OSD_BUFFER(m_hCapDev[0], m_nOsdNum3, m_xoffset3, m_yoffset3, m_width3, m_height3,

                                            nOSDColorSpace, (uint)m_pointerOSDAry, nOSDBufferWidth, nOSDBufferHeight, 0, m_nTransparent3);
            }

            if (m_hCapDev[1] != 0)
            {
                EXPORTS.QCAP_SET_OSD_BUFFER(m_hCapDev[1], m_nOsdNum3, m_xoffset3, m_yoffset3, m_width3, m_height3,

                                            nOSDColorSpace, (uint)m_pointerOSDAry, nOSDBufferWidth, nOSDBufferHeight, 0, m_nTransparent3);
            }

            if (m_hCapDev[2] != 0)
            {
                EXPORTS.QCAP_SET_OSD_BUFFER(m_hCapDev[2], m_nOsdNum3, m_xoffset3, m_yoffset3, m_width3, m_height3,

                                            nOSDColorSpace, (uint)m_pointerOSDAry, nOSDBufferWidth, nOSDBufferHeight, 0, m_nTransparent3);
            }

            if (m_hCapDev[3] != 0)
            {
                EXPORTS.QCAP_SET_OSD_BUFFER(m_hCapDev[3], m_nOsdNum3, m_xoffset3, m_yoffset3, m_width3, m_height3,

                                            nOSDColorSpace, (uint)m_pointerOSDAry, nOSDBufferWidth, nOSDBufferHeight, 0, m_nTransparent3);
            }
        }