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 ActiveX 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

The ReadMetaData and OverwriteMetaData functions are not provided in the trial version of csXImage because of the way the trial versions are restricted (see below). 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. Alternatively we can provide a time limited trial of csXImage on request that includes these functions.

csImageFile introduced support for some data that is stored in XMP format, including the IPTC Core Schema properties, in October 2007. This functionality is now included in csXImage and XMP based meta data is treated the same by both components. The XMP data requires a large amount of code to read it and this increases the file size of the compiled component. We had deliberately left the functionality out of csXImage to reduce the size of the ocx file, but we now feel that the value of the functionality outweighs the disadvantage of increasing the file size.

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.