Image processing with VB.NET - A Demo using ActiveX control csXImage

To run this demo you need the csXImage trial ocx control installed on your system as well as MS Visual Studio.NET. The trial control and the example files are available below:

Download the trial csXImage control - csXImageTrial.exe (1.3 MB)

The example VB.NET project - VBNETDemo.zip (78 KB)

Install csXImageTrial, then extract the VB.NET demo files from the zip file, keeping the same directory structure. Start VB.NET, and open the project in solution file 'csXImageDemo\csXImageDemo.sln'.

This example demonstrates a few special programming techniques that are necessary when using an ActiveX control in VB.NET.

  1. VB.NET cannot directly recognise indexed properties of ActiveX controls, such as the PixelColor property of csXImage. To use these properties, the property name must be prefixed by get_ (to read the property) or by set_ (to write the property). For example, get_PixelColor is used in Sub AxImageBox1_OnMouseMove to read the colour of the pixel under the cursor.
  2. The data type OLE_COLOR used by, for example, the PixelColor property, is equivalent to the data type System.Drawing.Color in VB.NET.
  3. In VB.NET, the OnMouseMove event is only triggered if the ImageBox control has the Focus. One effect of this is to prevent the crosshair cursor used by the MouseSelectRectangle and MouseSelectEllipse functions from automatically displaying when the mouse is moved over the control. This issue is solved by adding the line AxImageBox1.Focus( ) as required.

More information on each of the above is given in the readme.txt file, contained in the zip file. The specific piece of code which demonstrates the technique is referred to in each case.