^ What's the point?
^ Usage notes

Download :: Top
Free Image Bitmap Library

Free Image Bitmap Library is a little TBitmap and TBitmap32 descendant class that uses Free Image Library (FreeImage.dll) for loading and saving of picture files.

  • Load all the supported picture file formats Free Image Library supports
  • Save pictures to all the supported picture file formats Free Image Library supports
  • Load and resize pictures in one go with high quality resamplers
  • Load from file, HBITMAP handle, TStream or memory location
  • 32 bit transparent pictures are fully supported
  • The classes are thread-safe
  • VCL TBitmap and Graphics32 TBitmap32 version included
  • Supported platforms: Win32 and Win64

Loading JPEG pictures is 3x faster with TFreeImageBitmap and 2.4x faster with TFreeImageBitmap32 than with Delphi's VCL.Imaging.JPEG unit.
As the classes are inherited from TBitmap and TBitmap32 any function that expects TBitmap or TBitmap32 should accept the extended TFreeImageBitmap and TFreeImageBitmap32 objects.

Free Image Bitmap Library in shareware and commercial software?

The component comes with full source code and can be evaluated freely. If you like it and decide to use it in a freeware, shareware or commercial (or any other money making - advertising, in app. selling, etc.) product one of the licenses is needed.

Usage notes
  • When loading JPEG pictures 'JPEGResizeSize' can be specified to a size to quickly load the picture at max. this size. For example value of 160 will load the JPEGs as max. 160 pixel width. The function can load JPEGs at 2x, 4x, 8x smaller size than the original.
  • When saving images particular formats support particular bit depths, for example JPEG supports max. 24 bit bitmaps. For 'TFreeImageBitmap' before saving convert the bitmap to 24 bit for example:
        FreeImageBitmap.PixelFormat := pf24bit;
  • For the save 'Flags' parameter please see the FreeImage3180.pdf, save bitmap function documentation.
  • There are 2 global variables: 'FreeImageBitmapDefaultAssignBackend' and 'FreeImageBitmap32DefaultAssignBackend', they are 'True' by default, when an instance is created these global variables are used as the default values to 'AutomaticallyAssignBackend'. If 'True' than when an Assign() is called the backend is automatically created from the new assigned bitmap. If set to 'False' use the 'CopyToBackend' method to update the backend.
  • Use the 'ClearBackend' method to free the backend if it's not needed, for example for less memory usage.