public static extern int flycaptureGetCameraInfo(int flycapContext, ref FlyCaptureInfoEx arInfo);
static void Main(string[] args) { int flycapContext; int ret; FlyCaptureInfoEx flycapInfo = new FlyCaptureInfoEx(); FlyCaptureImage image = new FlyCaptureImage(); FlyCaptureImage flycapRGBImage = new FlyCaptureImage(); // Create the context. ret = flycaptureCreateContext(&flycapContext); if (ret != 0) // test { reportError(ret, "flycaptureCreateContext"); return; } // Initialize the camera. ret = flycaptureInitialize(flycapContext, _CAMERA_INDEX); if (ret != 0) { reportError(ret, "flycaptureInitialize"); return; } // Get the info for this camera. ret = flycaptureGetCameraInfo(flycapContext, ref flycapInfo); if (ret != 0) { reportError(ret, "flycaptureGetCameraInformation"); return; } if (flycapInfo.CameraType == FlyCaptureCameraType.FLYCAPTURE_BLACK_AND_WHITE) { Console.Write("Model: B&W " + flycapInfo.pszModelString + "\n" + "Serial #: " + flycapInfo.SerialNumber + "\n"); } else if (flycapInfo.CameraType == FlyCaptureCameraType.FLYCAPTURE_COLOR) { Console.Write("Model: Colour " + flycapInfo.pszModelString + "\n" + "Serial #: " + flycapInfo.SerialNumber + "\n"); } // Start FlyCapture. ret = flycaptureStart(flycapContext, FlyCaptureVideoMode.FLYCAPTURE_VIDEOMODE_ANY, FlyCaptureFrameRate.FLYCAPTURE_FRAMERATE_ANY); if (ret != 0) { reportError(ret, "flycaptureStart"); return; } // Grab one image to examine the image size ret = flycaptureGrabImage2(flycapContext, ref image); if (ret != 0) { reportError(ret, "flycaptureGrabImage2"); return; } // Allocate buffer for color processed image byte[] BGR_buffer = new byte[image.iRows * image.iCols * 3]; // Start grabbing images. Console.Write("\nGrabbing Images "); for (int iImage = 0; iImage < _IMAGES_TO_GRAB; iImage++) { // grab an image ret = flycaptureGrabImage2(flycapContext, ref image); if (ret != 0) { reportError(ret, "flycaptureGrabImage2"); return; } // Convert the image. fixed(byte *pBGR_buffer = BGR_buffer) { flycapRGBImage.pData = pBGR_buffer; flycapRGBImage.pixelFormat = FlyCapturePixelFormat.FLYCAPTURE_BGR; ret = flycaptureConvertImage(flycapContext, ref image, ref flycapRGBImage); if (ret != 0) { reportError(ret, "flycaptureConvertImage"); return; } } Console.Write("."); } // Save the image. Console.Write("\nSaving Last Image "); ret = flycaptureSaveImage(flycapContext, ref flycapRGBImage, "color.bmp", FlyCaptureImageFileFormat.FLYCAPTURE_FILEFORMAT_BMP); if (ret != 0) { reportError(ret, "flycaptureSaveImage"); return; } else { System.Diagnostics.Process.Start("mspaint.exe", "color.bmp"); } // Stop FlyCapture. ret = flycaptureStop(flycapContext); if (ret != 0) { reportError(ret, "flycaptureStop"); return; } // Destroy the context. ret = flycaptureDestroyContext(flycapContext); if (ret != 0) { reportError(ret, "flycaptureDestroyContext"); return; } Console.Write("\nPress Enter"); Console.Read(); }