ImageEn

IEVision Usage and Distribution


To take advantage of IEVision's functionality you will need to ship ievision.dll (or one of the variations below) with your application.

The IEVision DLL should be installed in one of the following locations:


Distribution is royalty-free if you have purchased an ImageEn and IEVision license.


IEVision Usage

You must initialize IEVision and specify your serial number or it will operate in trial mode.

IEGlobalSettings().RegisterPlugIns( [iepiIEVision], 'me@mycompany.com', 'ievis-12345-67890-12345-67890-12345-67890' );
if not ( iepiIEVision in IEGlobalSettings().ActivePlugIns ) then
begin
  ShowMessage( 'This application requires the ievision.dll plug-in, v' + IEGlobalSettings().ImageEnVersion.IELibVersionStr +'. Please download it from www.imageen.com' );
  exit;
end;
// Now use IEVision...


If you only want to check if the IEVision DLL is accessible call IEVisionAvailable:

if IEVisionAvailable() = False then
begin
  ShowMessage('This application requires the IEVision.dll plugin');
  Application.Terminate;
  exit;
end;


The ievision unit exports all interfaces and global methods, plus the IEVisionLib public field which encapsulates the factory class TIEVisionLibrary.

It is possible to encapsulate an ImageEn bitmap (TIEBitmap) inside a IEVision bitmap (TIEVisionImage), but it is necessary to change the TIEBitmap origin. For example:

ImageEnView1.IEBitmap.Origin := ieboTOPLEFT;
image := IEVisionLib.createImage(ImageEnView1.IEBitmap.Width, ImageEnView1.IEBitmap.Height,
                                 ievUINT8, 3, ImageEnView1.IEBitmap.Rowlen,
                                 ImageEnView1.IEBitmap.ScanLine[0]);

This way you can access all IEVision functions and share the results to a TImageEnView embedded image. It is also possible to create an IEVision image from scratch and then copy it to TIEBitmap or TImageEnView.

An alternative way is to use GetIEVisionImage which sets the bitmap origin and pixel format for you:

image := ImageEnView1.IEBitmap.GetIEVisionImage();


All IEVision objects are implemented as COM objects, so you don't need to handle object destruction (it happens automatically at runtime).
For example, if you create an IEVision image with:

image := IEVisionLib.createImage(1000, 1000, ievUINT8, 3);

You don't need to free or dispose it.


IEVision DLL Variants

You need to ship ONE of the following library sets:
DLL Description
ievision.dll Standard IEVision library for 32bit applications
ievision64.dll Standard IEVision library for 64bit applications
ievision-Trial.dll Trial of IEVision library for 32bit applications (do not ship)
ievision64-Trial.dll Trial of IEVision library for 64bit applications (do not ship)

Note:
If your application includes IEVision, you do NOT need to include ielib32.dll or ielib64.dll (as IEVision embed the functionality).
Previously OpenMP versions (e.g. ievision-mp.dll) were available that improved performance via multi-threading. From IEVision v5.5.0 a special OpenMP version is not required to access the performance improvements







See Also

DLL Version History