The Differences Between csImageFile and csXImage

Chestysoft offer image manipulation components, csImageFile and csXImage, and they produce very similar results. They have been produced for different purposes and the differences between them are explained here.

csXImage is an OCX control which means that it has a visual interface. It can be used within a visual programming environment such as Visual Basic where it can be dropped onto a form and is visible. Properties can be set at design time, as well as in the programme code. csImageFile is a COM object, does not have a visual interface and is in the form of a DLL. It can be made to work within a visual programming environment, but some effort is involved. A description of how to do this is provided here.

Licensing

The licensing types are different. csXImage is expected to be used within a Windows application and the licence reflects this by charging for the number of design-time users or "seats". The OCX file can be distributed with an application. csImageFile is intended primarily for use with a server side application like Active Server Pages and is licensed by the number of machines on which it is run.

Syntax

There are some syntax differences and the methods and properties do not necessarily have the same names. The treatment of fonts and colours is different. csXImage uses the ActiveX data types of IFontDisp and OLE_COLOR. The font properties can usually be accessed at design time in the form of a font dialogue box. The colours are specified as numbers which are usually entered as hexadecimal values where blue is represented by the highest bytes. Visual Basic and VBScript recognise some constants for colours, like vbRed and vbBlue for example. csImageFile provides its own properties for the fonts and does not quite have as much control over text settings. The colours are defined as strings in the same way as used by HTML ("RRGGBB" hexadecimal values).

Meta Data

Meta data support for JPEGs is slightly different. csImageFile now supports some data that is stored in XMP format, including the IPTC Core Schema properties. This functionality is not included in csXImage as it adds a lot to the compiled file size. csXImage is distributed with applications or downloaded with web pages when it is used client-side and so it is sensitive to increases in compiled size. The ReadMetaData and OverwriteMetaData functions are not provided in the trial version of csXImage because of the way the trial versions are restricted. If it is important to test these functions before buying it might be possible to use csImageFile to check that the images produced are suitable. OverwriteMetaData can lose some unsupported meta data such as thumbnails or clipping paths.

Events, Printing and Scanning

csXImage supports mouse events, printing and it can acquire from a scanner. csXImage also allows manipulation to be carried out on a selected area of an image. This functionality is not in csImageFile as it is not appropriate for a server side control

Trial Versions

The trial version of csXImage is restricted by writing some text on the top of each image produced. The trial version of csImageFile is time limited.

For both components there is no substitute for reading and familiarising yourself with the instructions. They are provided in PDF format and can be printed for reference if required.