You are on page 1of 5

Readme file for the JPEG Component Library version 1.


This file contains documentation for the JPEG Component Library by MWA Software,
which is available for Delphi 1, 2, 3, 4, 5 and 6 and C++Builder 1, 3, 4 and 5.
This version is for Borland Delphi 7. For further information please contact
MWA Software -


This file contains the following information:





The JPEG Component Library provides two additional non-visual components for use
under either Delphi or C++Builder. It also provides a Data Aware JPEG Image
component which may be used to save and access JPEG encoded images in a database
blob field. A corresponding printable component is also provided so that you may
print images from a database using Quick Reports.

This file contains the Delphi 7 version. Please access
for the remaining versions.

The two non-visual components are TJPEGFileCompressor and TJPEGFileDecompressor.

These support compression of images to JPEG Format and decompression respectively.

The data aware component is TDBJPEGImage, and the printable component is


Simply installing these components JPEG enables the Delphi IDE. The components
register themselves as supporting .jpg files and the JPEG compression format and,
when you come to load an image into a TImage Picture, the JPEG format will be
found amongst the list of supported file formats. An image loaded from a JPEG
source can also be saved back to JPEG. These components support the JPEG File
Interchange Format (JFIF).

These two components also support TImage at run-time too. As at design time, if
TJPEGFileDecompressor is included in your project, then calling
TImage.Picture.LoadFromFile when the file extension is .jpg will automatically
invoke the JPEG decompressor. You can also explicitly call TJPEGFileDecompressor
to load a JPEG image from any file.

TJPEGFileCompressor can be used to save a TImage.Picture in JPEG format, and can

handle pictures that are either bitmaps or metafiles. It can also compress a
device independent bitmap, and change the size of bitmaps before compression.
TDBJPEGImage is linked to a database blob field and also uses
TJPEGFileDecompressor and TJPEGFileCompressor to save and load JPEG encoded images

from the Blob Field. Use of the JPEG compressor and decompressor components can be

implicit if the default parameter settings are sufficient. On the other hand, the
reference may be explicit to copies of these components with non-default parameter

settings. TQRDBJPEGImage can be used to print a JPEG Image using Quick Reports 2.

This software uses original software for JPEG developed by the Independent JPEG
Group (see The IDG have made available a library
of generic 'C' code supporting JPEG compression and decompression and have
permitted its free use provided the source is acknowledged. The IDG code has been
modified for use with Delphi and MS Windows and is provided as compiled object
files. Optionally, they may be separately compiled into a dll.

An interface to this software is provided by the unit jpeglib.pas. This is

encapsulated as a set of Delphi components in the unit mwajpeg.pas, which also
supports the mapping of the environment independent image format expected by the
IJG code into MS Windows bitmap and metafile formats.

When you purchase a licence to this product, you purchase a licence for the source

code to the mwajpeg and jpeglib units and the right to include binaries derived
from them in your own products without having to pay additional royalties. You
also have a right to freely distribute the mwjpeg and mwjpeg32 dlls (if used), and

copies of the modified 'C' source is also included in the registered version.
Support is also provided by EMail albeit without a guaranteed response time.


Installation is straightforward. The JPEG Component Library is distributed in a

.zip archive; separate versions are provided for use with each version of Delphi
and C++Builder. Make sure you have the correct version and then:

i. Create a new sub-directory in your delphi directory (the actual name is

unimportant - call it jpeg if you can't think of anything better) and copy the
remaining files contained in the .zip file into this new subdirectory. You should
aim to preserve the directory names held in the zip - if you are using pkunzip
them use the -d option when unzipping the files.

iii. Start the Delphi IDE and choose the Component|Install Packages menu item.
Click on the "Add" button and browse for the mwjpegd7.bpl file you just copied to
the new subdirectory. Click on OK. The package will now be installed. By
default the JPEG components are placed on the "Additional" tab, TDBJPEGImage is on

the Data Controls tab, and TQRDBJPEGImage is on the QReports tab.

iv. Now select the Tools|Environment Options menu item, and click on the "Library"

tab. You must now add to the end of the "Library Path" the full pathname of the
subdirectory that contains the JPEG Components, if it's not already present.
Remember to put a semi-colon (;) separator in before you add the path name. For
example, if you installed the JPEG Components into "d:\Delphi7\jpeg", then the
Library Path should now look something


IMPORTANT: You should now restart Delphi before trying to load a JPEG Image at
Design Time, and this includes the example applications. If you do not then it is
possible that you will get an Access Violation in VCL70.dpl.


The components are now installed. Use the demo application to learn how they are



Three demo applications are provided. A JPEG Viewer application demonstrates the
opening and saving JPEG image files and conversion to and from bitmap files (.bmp)

and from Windows Metafiles (.wmf). One database application (DBDemo) demonstrates
use of the data aware component with the DB Navigation bar, while another
(DBGrDemo) demonstrates the use of the data aware component in a TDBCtrlGrid.

The JPEG Viewer application may be found in the Examples\Viewer subdirectory

created above. To activate, load the jpegdemo.dpr file into the IDE using the
File|Open Project menu item. This provides a simple application that can open and
save .jpg (JPEG), .bmp (Windows Bitmap) and .wmf (Windows metfaile) files, and
copy and paste bitmaps and metafiles to and from the clipboard. To test out,
simply compile and run the application.

To load and view a JPEG file, click on the open button and load the test.jpg file
contained in the subdirectory created above. You can also try saving it to another

file name (you can save it as either a JPEG or a bitmap). You can also use the
demo application to convert windows bitmaps and metafiles to jpegs simply by
opening the file containing them (or pasting from the clipboard) and saving them
as jpegs. The viewer window can also be resized by simply dragging the bottom
right hand corner with the mouse. Saving the image will save it at the new size.

The application also demonstrates a simple method for printing a JPEG Image.

You can also use the Object Inspector to see the properties published by the two
JPEG components.

The JPEG database applications may be found in the Examples\db subdirectory. To

activate, load the respective .dpr file into the IDE using the File|Open Project
menu item.

The DBDemo application is an extension of the Viewer and presents images held in
example database. The database records may be perused using the DBNavigator bar
provided. It is still possible to save images from the database record and to
replace/insert images from files or the clipboard. The application also
demonstrates how to print a report including JPEG Images.

The DBGrDemo application uses the same image database but presents the images
a TDBCtrlGrid which enables them to be viewed as an image strip.


See the online help file "mwjpeg.hlp"


JPEG Component Library Source Licence 12 pounds sterling (US$17.40)

US dollar prices are for indicative pricing only and assume an exchange rate of
one pound = $1.45. All prices are VAT exclusive. UK VAT (currently 17.5%) will be

charged for all UK residents and EC residents that are not VAT registered or do
provide a VAT number as proof of registration.


Registration may be made by FAX, Letter Post or EMail, and through our website.
FAX and Letter Post registrations, a Registration Form is provided in the File
"regform.txt" for you to EMail or print out (FAX or letter post), complete, and
send to MWA Software. Website registrations are protected by SSL based encryption.

Visa, Mastercard, Eurocard and JCB are accepted as payment mechanisms.

International money orders in pounds sterling and cheques drawn on UK Bank
Accounts are also accepted. US Dollar denominated checks are also acceptable
provided that an additional 10% is added to the purchase price to allow for the
additional Bank Charge. Please make cheques payable to McCallum Whyman Associates

EMail registrations should be sent to:


UK: 01962 735581
Int: +44 1962 735581

MWA Software,
P.O.Box 37,
SO24 9ZF,

All registrations are accepted on the basis that the registered user will be
deemed to have accepted and be bound by the licence conditions for the registered
versions of JPEG component library as recorded in the file reg-lnce.txt supplied
with the evaluation version of the software.

7. Secure Registration by EMail

You can EMail your credit card details to MWA Software without incurring the risk
of sending a credit card number in clear across the Internet, using PGP.

PGP is a powerful data encryption tool that has been made publicly available by
its author "Phillip Zimmermann". It is sufficiently good to attract the attentions

of various government's agency's and you should be aware that in certain countries

the use of such encryption software is a criminal offence. MWA Software only uses
PGP to decrypt registrations and does not send encrypted EMail. Having said that,
the international version of PGP can be obtained from:

The following URL is also a good source of information about PGP, including
information on how to get the more limited US version.

To encrypt a registration using PGP, do the following:

1. Using the file "regform.txt" as a template, complete a registration form for

the JPEG Component Library. Remember to include your credit card details, billing
address and your name as it appears on your credit card.

2. Encrypt regform.txt using PGP and the MWA public key. This is provided in the
file "mwakey.asc", which should be in the same archive as this file. This will
typically be performed by the following commands (the ; indicates the start of a

pgp -ka mwakey.asc ;add MWA key to your public keyring

pgp -ea regform.txt "MWA Software" ;encrypt and encode for EMail
pgp -kr "MWA Software" ;remove the MWA key from your keyring

The above will have created the encrypted file "regform.pgp". This is a text file
and may be sent as part of a normal EMail to MWA Software:

Set the subject to "JPEG Registration"

If you have any reason to doubt the validity of the MWA key, request an up-to-date

version by EMail to the above address, with a subject of "Key Verification


Thank you for registering the JPEG Component Library.