PXR Family

Datasheet (PDF)

Manual & Guide

Application Notes

Driver Updates

Example Source Code

Compatible Image Processing Software

Product FAQ

All Frame Grabbers

Home Page


Feedback at:
CSinfo@cyberoptics.com or
1-800-366-9131

PXR_GRAB_RT C# Sample for Win32 Systems

This sample program, PXR_GRAB_RT_CS, illustrates the use of the Imagenation PXR800 with the new programming language C#. It shows you how to grab and display an image and also how to read and write BMP files.

In this sample we allocate a single buffer. The PXR800 is put into a mode where it is always grabbing another frame in addition to the one that is currently being DMA'd. This gives you the same result as using two buffers in software. We do not need to set any parameters in order to implement this method. This is the default method for the PXR800. This method works quite well and will result in a realtime display if a buffer can be copied to the VGA faster than the next grab can take place, which is either 33 or 40 ms depending camera type. Almost any system today can achieve a realtime display by using this method. Whether you use our sample as a starting point or not, you will need the interface file contained in this package if you want to work in C#.

This is what you need for C# development:
In order to develop a C# application for the PXR800, you need to have an interface file that redefines all of the PXR800 functions and links the new definitions to the existing PXR800 DLLs.

This is what we are giving you in this package:
The interface file containing the following three types of data:

1.The DLL function redefinitions - Redefines all the functions that are explained in the the PXR800 Frame Grabber User's Guide and contained in the PXR800 DLLs.
2.Global variable definitions – A set of common static variable names used by the PXR800 API.
3.Classes - Some useful class functions for initializing libraries, displaying images, and reading and writing BMP files. You may want to use these functions as your beginning class library to avoid building one from scratch.

A sample C# program that illustrates the following concepts:
1.Library initialization - Proper initialization of the PXR800 libraries.
2.Display - Done by getting a pointer to the acquired image using the PXR800 FrameBuffer() function and then creating a bitmap by calling the Bitmap() function.
3.Continuous image update - Uses a timer to cause the image window to be continuously updated.

This is how you use it:
Download this package into a directory where you want to work. Unzip it into that same directory. Build the sample and execute it to make sure it works. Then modify it for your application. If you are building a new C# application, you might want to start with our sample code and classes. If you already have an application that you are porting, you may just want to use our interface file.