/// <summary> /// SelectView : View와 카메라와 연결함 /// </summary> /// <param name="m_Display"></param> /// <returns></returns> public int SelectView(MVisionView m_Display) { // Display 객체를 받아온다 m_pDisplay = m_Display; // CallBack 함수를 등록한다. m_iResult = m_Camera.registerNotifyCallback(this, m_pDisplay.ImageCallback); if (m_iResult != BGAPI.Result.OK) { // Camera register Notify Callback failed! return(GenerateErrorCode(ERR_VISION_CAMERA_SET_CALLBACK_FAIL)); } return(SUCCESS); }
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)); * } */ }