Beispiel #1
0
        /// <summary>
        /// SetLive: 카메라의 Live 상태를 지령한다.
        /// </summary>
        /// <param name="bRun"></param>
        public void SetLive(bool bRun)
        {
            int iRes;

            if (bRun == true)
            {
                iRes = m_Camera.setStart(true);
                // Trigger Mode Off
                m_Camera.setTrigger(false);
            }

            else
            {
                iRes = m_Camera.setStart(false);
            }

            SetLiveFlag(bRun);
        }
        private void prepareCamera()
        {
            res = pCamera.getDataAccessMode(ref state, ref listint, ref intNumberofbuffer);
            ReturnError(res, "getDataAccessMode");

            /*
             * if (res != BGAPI.Result.OK)
             * {
             * MessageBox.Show(string.Format("getDataAccessMode returned with errorcode {0}\n", res));
             * }*/

            for (i = 0; i < listint.length; i++)
            {
                //MessageBox.Show(string.Format("{0} select DataAccessMode {1}\n", i, ((BGAPI_DataAccessMode)listint.array[i]).ToString()));
                //externppSystem[i].releaseCamera( ref externppCamera );
            }

            do
            {
                inputVal = 0;
                //inputVal = Convert.ToInt32(Console.ReadLine(), 10);
            }while (inputVal < 0 || inputVal > listint.length);
            if (((BGAPI_DataAccessMode)listint.array[inputVal]) == BGAPI_DataAccessMode.BGAPI_DATAACCESSMODE_NORMALEXTERN ||
                ((BGAPI_DataAccessMode)listint.array[inputVal]) == BGAPI_DataAccessMode.BGAPI_DATAACCESSMODE_QUEUEDEXTERN)
            {
                MessageBox.Show(string.Format("DataAccessMode {0} is not supported by this example!\n", ((BGAPI_DataAccessMode)listint.array[inputVal]).ToString()));
                res = release_systems(system_count, ref ppSystem);
                ReturnError(res, "release_systems");

                /*
                 * if (res != BGAPI.Result.OK)
                 * {
                 * MessageBox.Show(string.Format("release_systems Errorcode: {0}\n", res));
                 * }
                 */
                return;
            }
            res = pCamera.setDataAccessMode((BGAPI_DataAccessMode)listint.array[inputVal], intNumberofbuffer.current);
            ReturnError(res, "setDataAccessMode");

            /*
             * if (res != BGAPI.Result.OK)
             * {
             * MessageBox.Show(string.Format("setDataAccessMode returned with errorcode {0}\n", res));
             * }
             */

            res = pCamera.getDataAccessMode(ref state, ref listint, ref intNumberofbuffer);
            ReturnError(res, "getDataAccessMode");

            /*
             * if (res != BGAPI.Result.OK)
             * {
             * MessageBox.Show(string.Format("getDataAccessMode returned with errorcode {0}\n", res));
             * }
             */
            if ((((BGAPI_DataAccessMode)listint.array[listint.current]) == BGAPI_DataAccessMode.BGAPI_DATAACCESSMODE_NORMALINTERN) || (((BGAPI_DataAccessMode)listint.array[listint.current]) == BGAPI_DataAccessMode.BGAPI_DATAACCESSMODE_NORMALEXTERN))
            {
                ppImage = new BGAPI.Image[1];

                //create image object
                res = BGAPI.EntryPoint.createImage(ref ppImage[image_count]);
                ReturnError(res, "createImage for Image 0");

                /*
                 * if (res != BGAPI.Result.OK)
                 * {
                 * MessageBox.Show(string.Format("createImage for Image 0 returned with errorcode {0}\n", res));
                 * }*/
                image_count++;

                if (((BGAPI_DataAccessMode)listint.array[listint.current]) == BGAPI_DataAccessMode.BGAPI_DATAACCESSMODE_NORMALEXTERN)
                {
                    //not yet supported
                }

                res = pCamera.setImage(ref ppImage[image_count - 1]);
                ReturnError(res, "setImage for Image 0");

                /*
                 * if (res != BGAPI.Result.OK)
                 * {
                 * MessageBox.Show(string.Format("setImage for Image 0 returned with errorcode {1}\n", res));
                 * }*/
            }
            if ((((BGAPI_DataAccessMode)listint.array[listint.current]) == BGAPI_DataAccessMode.BGAPI_DATAACCESSMODE_QUEUEDINTERN) || (((BGAPI_DataAccessMode)listint.array[listint.current]) == BGAPI_DataAccessMode.BGAPI_DATAACCESSMODE_QUEUEDEXTERN))
            {
                ppImage = new BGAPI.Image[intNumberofbuffer.current];

                //create image objects
                for (i = 0; i < intNumberofbuffer.current; i++)
                {
                    res = BGAPI.EntryPoint.createImage(ref ppImage[image_count]);
                    ReturnError(res, "createImage for Image");

                    /*
                     * if (res != BGAPI.Result.OK)
                     * {
                     * MessageBox.Show(string.Format("createImage for Image {0} returned with errorcode {1}\n", i, res));
                     * break;
                     * }
                     * */
                    image_count++;

                    if (((BGAPI_DataAccessMode)listint.array[listint.current]) == BGAPI_DataAccessMode.BGAPI_DATAACCESSMODE_QUEUEDEXTERN)
                    {
                        //not yet supported
                    }

                    res = pCamera.setImage(ref ppImage[image_count - 1]);
                    ReturnError(res, "setImage for Image");

                    /*
                     * if (res != BGAPI.Result.OK)
                     * {
                     * MessageBox.Show(string.Format("setImage for Image {0} returned with errorcode {1}\n", i, res));
                     * break;
                     * }*/
                }
            }

            //--------------------------------------

            //this command will set a gainvalue
            res = pCamera.setGain(gainvalue);
            ReturnError(res, "setGain");

            /*
             *
             * if (res != BGAPI.Result.OK)
             * {
             * System.Console.Write("setGain Errorcode: {0}\n", res);
             * }*/

            //this command will set an exposurevalue
            res = pCamera.setExposure(exposurevalue);
            ReturnError(res, "setExposure");

            /*
             * if (res != BGAPI.Result.OK)
             * {
             * System.Console.Write("setExposure Errorcode: {0}\n", res);
             * }
             * */


            //--------------------------------------
            //this command will get the current imageformat
            res = pCamera.getImageFormat(ref state, ref listint);
            ReturnError(res, "getImageFormat");

            /*
             * if (res != BGAPI.Result.OK)
             * {
             * System.Console.Write("getImageFormat Errorcode: {0}\n", res);
             * }
             */

            //this command will set an imageformat
            res = pCamera.setImageFormat(formatindex);
            ReturnError(res, "setImageFormat");

            /*
             * if (res != BGAPI.Result.OK)
             * {
             * System.Console.Write("setImageFormat Errorcode: {0}\n", res);
             * }
             */
            res = pCamera.getPixelFormat(7, ref FeatureState, ref TypeListINT);
            res = pCamera.setPixelFormat(TypeListINT.array[0]);
            //res = formatlist.array[1];

            res = pCamera.registerNotifyCallback(pCamera, imgcallback);
            if (res != BGAPI.Result.OK)
            {
                MessageBox.Show(string.Format("Error {0} while register NotifyCallback.\n", res));
            }

            res = pCamera.setStart(true);
            ReturnError(res, "setStart");

            /*
             * if (res != BGAPI.Result.OK)
             * {
             * MessageBox.Show(string.Format("setStart returned with errorcode {0}\n", res));
             * }
             */
        }