Advanced Imagery Library


  •  Home

  •  About AIL

  •  AIL News

  •  Change Log

  •  Supported Formats

  •  Sample Images

  •  Sample Code

  •  Download Demo

  •  Testimonials

  •  Purchase AIL

  •  AIL Forum

  •  Contact Us







Advanced Imagery Library

Advanced Zip Library

Text Into PDF

The VB Zone

Change Log


 ! : changed
 + : added
 * : fixed
 - : removed

__________________________________________________

[February, 2018] Version 4.0.1

! Added missing inline documentation for VB.NET versions
+ Added an interface to the cAdvancedImagery class (in C#.NET and VB.NET projects)
  so it can be injected / mocked / unit tested.
* Fixed the SLN files so they open in the correct version of Visual Studio by default
* Fixed the AdvImgLib_NET.xml file for VB.NET projects
* Fixed a bug in the cAdvancedImagery.IO_LoadImage method
* Fixed a bug in the cAdvancedImagery.Effect_ReplaceColor method
* Fixed a bug in the cAdvancedImagery.Metadata_Get and cAdvancedImagery.Metadata_GetEx
  methods

__________________________________________________

[May 2, 2011] Version 3.3.0

! FreeImage3.dll updated to v3.15.0:
   - Now uses OpenEXR 1.7.0
   - Now uses ZLib 1.2.5
   - Now uses LibRaw 0.13-Beta3
   - Now uses LibPNG 1.4.5
   - Now uses LibTIFF 3.9.4 (CVS patch 2011-01-03)
   - Now uses LibJPEG 8c
   - Now uses OpenJPEG 1.4.0 (SVN patch 2011-01-18)
   - Added support for saving 256 x 256 icon size
   - FreeImage_LoadMultiBitmapFromMemory now supports read/write operations
   - FreeImage_OpenMultiBitmapFromHandle now supports read/write operations
   - Greyscale conversions now use the Rec. 709 formula
   - Added FIT_FLOAT to FIT_RGBF, and FIT_UINT16 to FIT_RGBF conversion to
     FreeImage_ConvertToRGBF & FreeImage_ConvertToType
   - JPEG plugin can load & save raw Exif data (see FIMD_EXIF_RAW)
   - Added support for 16-bit image types to FreeImage_Invert
   - Added decoding support for the old and outdated JPEG-in-TIFF 6.0 format
     in TIFF plugin
   - Added new Exif makernote tags
   - Made many improvements in performance and processing
   - Fixed many different errors and bugs

+ Added the following values to the "IMAGE_FLAGS" enumeration (if the following
  "_LOAD_NOPIXELS" flag is used while loading images, the image's information &
  metadata are loaded without loading the entire image:

   JPEG_OPTIMIZE
   JPEG_BASELINE
   PSD_CMYK
   PSD_LAB
   TARGA_SAVE_RLE
   TIFF_LOGLUV
   BMP_LOAD_NOPIXELS
   CUT_LOAD_NOPIXELS
   EXR_LOAD_NOPIXELS
   HDR_LOAD_NOPIXELS
   ICO_LOAD_NOPIXELS
   JPEG_LOAD_NOPIXELS
   PCD_LOAD_NOPIXELS
   PCX_LOAD_NOPIXELS
   PFM_LOAD_NOPIXELS
   PNG_LOAD_NOPIXELS
   PNM_LOAD_NOPIXELS
   PSD_LOAD_NOPIXELS
   RAS_LOAD_NOPIXELS
   RAW_LOAD_NOPIXELS
   TARGA_LOAD_NOPIXELS
   TIFF_LOAD_NOPIXELS
   XPM_LOAD_NOPIXELS

+ Added the following values to the "MetaDataType" enumeration:

   mt_EXIF_RAW

+ Added a new function "modFreeImage.FreeImage_GetThumbnail". If a JPEG (Exif or JFIF
  formats), PSD, EXR, TGA or TIFF image is loaded and contains a thumbnail image, this
  function retrieves it.
+ Added a new function "modFreeImage.FreeImage_SetThumbnail". Attach a thumbnail image to
  a dib, so that it can be later stored together with the dib to an ouput image file. Only
  JPEG (JFIF formats), EXR, TGA and TIFF are supported.
+ Added a new function "modFreeImage.FreeImage_ConvertToUINT16". Converts a bitmap to an
  unsigned 16-bit greyscale image (i.e. image whose type is FIT_UINT16).
+ Added a new function "modFreeImage.FreeImage_ConvertToFloat". Converts an image to a
  FIT_FLOAT image type.
+ Added a new function "modFreeImage.FreeImage_LoadMultiBitmapFromMemory". Open a
  multi-page bitmap from a memory stream.
+ Added a new function "modFreeImage.FreeImage_SaveMultiBitmapToHandle". Allows you to
  save a multi-page image to a file handle.
+ Added a new function "modFreeImage.FreeImage_SaveMultiBitmapToMemory". Allows you to
  save a multi-page image to a memory stream.
+ Added a new function "modFreeImage.FreeImage_HasPixels". Returns TRUE (1) if the image
  was loaded with the "_LOAD_NOPIXELS" flag. Returns FALSE (0) otherwise.
+ Added a new function "modFreeImage.FreeImage_FIFSupportsNoPixels". Returns TRUE (1)
  if the specified image type can be loaded with the "_LOAD_NOPIXELS" flag. Returns
  FALSE (0) otherwise.
+ Added a new function "AIL.Info_AverageLuminance" which gives the average luminance /
  brightness of an image on a 0 to 255 scale.
+ Added a new function "AIL.Info_ThumbnailGet" which wraps the "FreeImage_GetThumbnail"
  function.
+ Added a new function "AIL.Info_ThumbnailSet" which wraps the "FreeImage_SetThumbnail"
  function.
* Fixed the incorrect declaration of the "modFreeImage.FreeImage_OpenMultiBitmapFromHandle"
  function (a parameter was missing).
* Fixed a potential memory leak in the "Metadata_Set" function that could happen as a
  result of clean-up code being skipped if an error occurs while saving the metadata to
  an image

__________________________________________________

[October 30, 2009] Version 3.2.0

! FreeImage3.dll updated to v3.13.0:
   - Now uses libPNG 1.2.40
   - Now uses libMNG 1.0.10
   - Now uses OpenJPEG 1.3.0 (SVN patch 2008-08-21)
   - Now uses LibJPEG 7
   - Now uses libTIFF 3.9.1
   - Now uses LibRaw-Lite 0.7.2
   - Now supports Macintosh PICT image format
   - Now supports RAW camera image formats
   - Now supports PFM image format
   - Improved the loading speed of all targa images
   - Added FreeImage_CloneMetadata function
   - Added FreeImage_Rotate function (which includes support for most image types)
   - Added FreeImage_AllocateEx function
   - Added FreeImage_AllocateExT function
   - Added FreeImage_EnlargeCanvas function
   - Added FreeImage_FillBackground function
   - Added FreeImage_OpenMultiBitmapFromHandle function
   - Added new compression flags to the JPEG plugin (chroma subsampling options)
   - Added new compression flags to the PNG plugin
   - Added JPEG_EXIFROTATE load flag to the JPEG plugin
   - Added 48-bit RGB to 32-bit conversion support in FreeImage_ConvertTo32Bits
   - Added support for SGI grayscale + alpha pictures to SGI plugin
   - Added loading support for Windows Vista icons in ICO Plugin
   - Added loading and saving support for RGBF images to the TIF plugin
   - Added missing IPTC tags and renamed some tag names to be compatible with ExifTool
     naming convention
   - Added error messages in FreeImage_Load(U) / FreeImage_Save(U) in case of bad
     filenames
   - Added FIT_RGBA16 to FIT_RGBF conversion to FreeImage_ConvertToRGBF
   - Added support for all Photoshop supported color modes to PSD images
   - Improved the speed of FreeImage_FlipHorizontal
   - Improved FreeImage_RotateClassic so it now keeps transparency when applied to
     8-bit images
   - Improved loading speed of 24-bit targa images
   - Fixed a problem in saving to BMP file where the bfSize file header for palettized
     images was not being set correctly
   - Fixed FreeImage_Copy function so it now copies transparency info, resolution info,
     ICC profile and metadata
   - Fixed FreeImage_Paste function so it now checks for negative top/left values
   - The FreeImage_RotateClassic function has been depreciated. Use FreeImage_Rotate
     instead.

+ Added the following values to the "IMAGE_FORMAT" enumeration:

   IF_PFM  (Portable Floatmap)
   IF_PICT (Macintosh PICT)
   IF_RAW  (RAW camera image)

+ Added the following values to the "IMAGE_FLAGS" enumeration:

   JPEG_EXIFROTATE
   JPEG_SUBSAMPLING_411
   JPEG_SUBSAMPLING_420
   JPEG_SUBSAMPLING_422
   JPEG_SUBSAMPLING_444
   JPEG_QUALITY_100
   JPEG_QUALITY_90
   JPEG_QUALITY_80
   JPEG_QUALITY_70
   JPEG_QUALITY_60
   JPEG_QUALITY_50
   JPEG_QUALITY_40
   JPEG_QUALITY_30
   JPEG_QUALITY_20
   JPEG_QUALITY_10
   PNG_Z_BEST_SPEED
   PNG_Z_DEFAULT_COMPRESSION
   PNG_Z_BEST_COMPRESSION
   PNG_Z_NO_COMPRESSION
   PNG_INTERLACED
   PFM_DEFAULT
   PICT_DEFAULT
   RAW_DEFAULT
   RAW_PREVIEW
   RAW_DISPLAY

+ Added a new function "modFreeImage.FreeImage_Rotate". It takes an image of any bit
  depth, and rotates it by 90 degrees and sets the specified background where applicable
  (background color must be of the appropriate type for the image's bit depth)
+ Added a new function "modFreeImage.FreeImage_AllocateEx". It allocates a new image
  of the specified width, height, & bit depth (and optionally fills it with a specified
  color)
+ Added a new function "modFreeImage.FreeImage_AllocateExT". It allocates a new image
  of the specified image type, width, height, & bit depth (and optionally fills it with
  a specified color)
+ Added a new function "modFreeImage.FreeImage_CloneMetadata". It takes the METADATA
  from the source image and copies into the destination image.
+ Added a new function "modFreeImage.FreeImage_TmoReinhard05Ex". It converts a High
  Dynamic Range image to a 24-bit RGB image using a global / local operator inspired by
  photoreceptor physiology of the human visual system.
+ Added a new function "modFreeImage.FreeImage_EnlargeCanvas". It enlarges or shrinks
  an image selectively per side and fills newly added areas with the specified background
  color.
+ Added a new function "modFreeImage.FreeImage_OpenMultiBitmapFromHandle". It is similar
  to "FreeImage_OpenMultiBitmap", but opens the multi-page bitmap from a handle like the
  "FreeImage_LoadFromHandle" function.
+ Added a new enum "modFreeImage.FREE_IMAGE_COLOR_INFO". It defines constants used by
  the "FreeImage_FillBackground" and "FreeImage_EnlargeCanvas" functions.
+ Added a new function "AIL.Metadata_Copy" which wraps the "FreeImage_CloneMetadata"
  function.
+ Added a new function "AIL.IO_LoadFromBinaryEx" which does exactly the same thing as
  "IO_LoadFromBinary", except it returns the file format of the image that was loaded
  from the specified binary data. For the .NET versions, the "IO_LoadFromBinary" now has
  2 extra overloads instead of creating a new function "IO_LoadFromBinaryEx".
+ Added a new function "AIL.IO_GetFileFormatFromBinary" which gets the image file format
  of a binary array and returns it as a string.
+ Added a new function "AIL.IO_GetFileFormatFromBinaryEx" which gets the image file format
  of a binary array and returns it as an IMAGE_FORMAT. For the .NET versions, the
  "IO_GetFileFormatFromBinary" has an overload instead of creating a new function
  "IO_GetFileFormatFromBinaryEx".
! The "JPEG_CMYK" constant value in the "IMAGE_FLAGS" enumeration was changed from &H1000
  to &H4 (because it changed in FreeImage). This only affects people who use the actual
  values instead of the enumerations (which no one should be doing).
! Changed the "AIL.DLL_Version" and "AIL.DLL_Copyright" functions to use a string constant
  instead of the App.Major, App.Minor, & App.Revision. This prevents the version number
  from incorrectly reporting the calling program's version information as it's own.
! Changed the "AIL.Effect_Rotate90" function to use "FreeImage_Rotate" instead of
  "FreeImage_RotateClassic"... because "FreeImage_RotateClassic" has been depreciated.
! Updated the documentation for the "AIL.Metadata_Set_IPTC" function to reflect added /
  renamed IPTC tags
! Changed the "modFreeImage.FreeImage_CloseMemory" function so that it first checks if
  it's 0 before closing it, then sets the pointer value to 0 once it closes it.


! IMPORTANT:
  ==========
  Because enumeration values have changed within this version (because they changed within
  the FreeImage library), binary compatibility was broken. This means that the GUID's for
  the VB5 and VB6 version are now different. No interfaces or function definitions were
  changed, so it shouldn't affect anyone. But if you instantiate the VB5 or VB6 version
  directly via the GUID, you'll want to take notice of the following GUID changes:

  AdvImgLib.cAdvancedImagery
    BEFORE : 2E9F8012-8E92-4579-B9AA-C882F5D1144E
    AFTER : 3A25FCBF-ACB6-4A77-BAE8-2DAA62C4EB5B

  AdvImgLib.cAdvancedImagery_ASP
    BEFORE : B4473C27-4A47-4E6F-8012-EB35C4C2342A
    AFTER : 6EB2B6B9-CA72-4CE2-BBEE-1C052D9A78E5

  AdvImgLib5.cAdvancedImagery
    BEFORE : F5132902-10D7-4215-ADF1-D7A9009F6D63
    AFTER : 3FA671E9-20BB-41C9-A725-7BE6A0D311BA

  AdvImgLib5.cAdvancedImagery_ASP
    BEFORE : 4362552A-0A49-4BF1-9435-F2A4E4FDC2F0
    AFTER : 412C4ACD-321C-497C-B5F2-7463358DE35A

__________________________________________________

[January 15, 2008] Version 3.1.0

! FreeImage3.dll updated to v3.10.0:
   - Now supports JPEG-2000 image format
   - Now supports OpenEXR image format
   - Now uses OpenJPEG 1.2.0 (SVN patch 2007-07-13)
   - Now uses OpenEXR 1.6.1
   - Now uses libTIFF 3.9.0 beta (CVS patch 2007-10-05)
   - Now uses libPNG 1.2.23
   - Fixed some bugs that occured while reading TIFF images
   - Fixed a crash bug that occured while attempting to read corrupted GIF images
   - Fixed some other errors related to GIF, RLE, and TIFF images.

! Changed the "modFreeImage.FreeImage_SetOutputMessage" function to use the new
  "_FreeImage_SetOutputMessageStdCall@4" function instead of the old
  "_FreeImage_SetOutputMessage@4". The old version used the "cdecl" calling convention
  which is incompatible with VB/VB.NET because VB uses the "stdcall" calling convention.
  Using the old "cdecl" function most likely caused internal failures which will now be
  avoided by using the new "stdcall" function.
! Changed the "AIL.IO_LoadImage" function so that if no image type is specified, by
  default it will properly load transparent GIF images regardless of the color palette
  size. If you *DO* specify the file type as IF_GIF and do not specify the GIF_LOAD256
  load flag, some GIF images may not properly retain their transparency.
! Improved the speed of the "AIL.Effect_ReplaceColor" function quite a bit by altering
  it to use the new "modFreeImage.FreeImage_SwapColors" function. Note that this
  function previously converted the image to 32-bit before replacing colors... but now
  it does not. It will replace the colors (if possible) using the image's existing color
  depth and palette (if any).
! Improved the speed of the "AIL.Effect_Brightness" function by altering to use the new
  "modFreeImage.FreeImage_AdjustColors" function. Also added some error checking for
  invalid values passed as the "Percentage" parameter.
! Improved the speed of the "AIL.Effect_Contrast" function by altering to use the new
  "modFreeImage.FreeImage_AdjustColors" function. Also added some error checking for
  invalid values passed as the "Percentage" parameter.
! Improved the speed of the "AIL.Effect_Gamma" function by altering to use the new
  "modFreeImage.FreeImage_AdjustColors" function.
! Upgraded the VBA samples & code to Office 2003 to be more complete, more up-to-date,
  and more user-friendly. Old versions were Office 97 & Office 2000.
! PictureIt sample application was re-combiled using the AIL 3.1.0 classes & modules.
+ With the new update of the FreeImage backend, JPEG-2000 and OpenEXR image formats are
  now fully supported.
+ Added the "FIF_EXR" (ILM OpenEXR), "FIF_J2K" (JPEG-2000 File Format), and "FIF_JP2"
  (JPEG-2000 codestream) values to the "IMAGE_FORMAT" enumeration
+ Added the "EXR_DEFAULT", "EXR_FLOAT", "EXR_NONE", "EXR_ZIP", "EXR_PIZ", "EXR_PXR24",
  "EXR_B44", "EXR_LC", "J2K_DEFAULT", and "JP2_DEFAULT" values to the "IMAGE_FLAGS"
  enumeration
+ Added a new function "AIL.Effect_ResizeCanvas" (along with the supporting
  "ResizeCanvasPositions" type/structure) which allows you to increase/decrease the size
  of the image without increasing/decreasing the contents of the image. If you increase
  the canvas size, a border appears with a color you can specify. If you decrease the
  size of the canvas, the image is cropped.
+ Added the following new functions (which are included in the new version FreeImage) to
  the "modFreeImage3" module:
   - FreeImage_TmoFattal02
   - FreeImage_MultigridPoissonSolver
   - FreeImage_PreMultiplyWithAlpha
   - FreeImage_SetTransparentIndex
   - FreeImage_GetTransparentIndex
   - FreeImage_GetAdjustColorsLookupTable
   - FreeImage_AdjustColors
   - FreeImage_ApplyColorMapping
   - FreeImage_SwapColors
   - FreeImage_ApplyPaletteIndexMapping
   - FreeImage_SwapPaletteIndices
+ Added a "Strong Name Key" to the .NET versions of the library (AdvImgLib_NET.snk) so
  that when compiled, the .NET versions will be strongly named and can be used within
  environments such as SharePoint and BizTalk which are very picky about security and
  external DLL references. Note that a different key is used for the 2003, 2005, and
  2008 versions.
+ REALbasic 2007 (r5) support was added and you can now get the wrapper for it from the
  "REALbasic 2007 Wrapper" sub-directory.
+ .NET 2008 (Framework 3.5) support was added and you can now use this version of the
  library via the "VB.NET 2008 DLL" sub-directory.
* Fixed the "AIL.Effect_OverlayPictureEx" function within the .NET 2003 version so it
  uses 32-bit integers instead of 64-bit integers.
- FreeImage 2.6.1 is no longer supported, so the "/VB5 & VB6 Modules/FreeImage v2.6.1"
  sub-directory was removed.
- REALbasic 5.5 is no longer supported, so the "REALbasic 5.5 Wrapper" sub-directory
  was removed.
- The "VB5 & VB6 Modules" sub-direcotry was removed because all it contained was the
  classes and modules that you can get from the "VB5 DLL" or "VB6 DLL" sub-directories.
- The "VB.NET 2003 Module" sub-directory was removed because all it contained was the
  "modFreeImage3.vb" module... which you can get from the "VB.NET 2003 DLL" sub-directory.
- The "VB.NET 2005 Module" sub-directory was removed because all it contained was the
  "modFreeImage3.vb" module... which you can get from the "VB.NET 2005 DLL" sub-directory.
- Removed all unneeded references from all .NET versions of the library

__________________________________________________

[August 2, 2007] Version 3.0.4

* While fixing a bug in a previous release, a new bug was introduced into the
   "modFreeImage.BlendColor" function. This bug caused render functions which dealt
   with ALPHA channels for transparency to render transparent areas as opaque, and
   opaque areas to be rendered as transparent. This bug was fixed in v3.0.4 so
   rendering 32-bit tansparent images will work correctly now.

__________________________________________________

[May 24, 2007] Version 3.0.3

* Fixed a problem with the "cAdvancedImagery_ASP" class (VB5 & VB6 versions) which was
   causing arrays being returned to be unfriendly to ASP / VbScript... which in turn was
   causing "Type Mismatch" errors. The following functions were affected:

   - Info_ColorArray
   - Info_ColorArrayEx
   - Info_GetPalette
   - MultiPage_Load

__________________________________________________

[March 6, 2006] Version 3.0.1

! FreeImage3.dll updated to v3.9.3:
   - Now uses libPNG 1.2.16
   - Greatly improved the speed of the GIF encoder
   - Fixed saving of metadata in the PNG plugin
   - Fixed transparency table to alpha channel conversion for 8-bit images in
     FreeImage_ConvertTo32Bits (this means that when converting "transparent 8-bit
     GIF images" to "transparent 32-bit PNG images" using the "FreeImage_ConvertTo32Bits"
     function, the transparency is automatically preserved)
   - Fixed the use of FreeImage in low memory condition by checking some returned values
     of the malloc function

+ Added a new overloaded function for "AIL.IO_LoadFromBinary" under .NET 2003 and .NET
   2005 which allows you to pass a "System.IO.Stream" object (or any object that is
   derived from it) as the "ImageData" parameter (instead of a byte array). This should
   make this function much easier to use within a .NET environment.
+ Added a new overloaded function for "AIL.IO_SaveToBinary" under .NET 2003 and .NET 2005
   which allows you to pass a "System.IO.Stream" object (or any object that is derived
   from it) as the "Return_Buffer" parameter (instead of a byte array). This should make
   this function much easier to use within a .NET environment.
+ Added a new function "AIL.Effect_JpegTransform" which loads a JPEG image, applies the
   specified transformation to it (i.e. - flip, rotate, etc), then does a lossless save
   of the results to another JPEG (can also overwrite the original JPEG with the modified
   JPEG by passing the same file path to the 'source' and 'destination' parameters).
   Using this function is recommended if you just need to load a JPEG image, apply 1 or 2
   of the supported effects to it, and then immediately save out the results to a file.
   Using this function in such a situation will give a much higher quality output image
   because you're not re-compressing a compressed image.
+ Added a new function "AIL.Effect_JpegZoom" which loads a JPEG image, takes the specified
   RECT (rectangle) area within that JPEG image, and zooms into that area, then does a
   lossless save of the results to another JPEG (can also overwrite the original JPEG
   with the modified JPEG by passing the same file path to the 'source' and 'destination'
   parameters). Using this function is recommended if you just need to load a JPEG image,
   zoom in/crop a specific region of the image, and then immediately save out the results
   to a file. Using this function in such a situation will give a much higher quality
   output image because you're not re-compressing a compressed image.
* Fixed a bug in the "modMetafile.MF_ConvertApmToWmf" function that under certain
   circumstances within an ASP.NET environment would cuase errors due to file locking
   problems
* Fixed a bug in the "cAdvancedImagery.vb" file (.NET 2003 and .NET 2005 versions)
   where "CopyMemory" Win32 API functions were defined with ByVal where they should
   have been declared as ByRef (this was causing crashes under certain circumstances)

__________________________________________________

[November 5, 2006] Version 3.0.0

! FreeImage3.dll updated to v3.9.2:
    - Now uses libPNG 1.2.12
    - Now uses ZLib 1.2.3
    - Now uses libTIFF 3.8.2 (with patch 2006-10-13)
    - Added read-only support for the new image format "SGI (Silicon Graphics Image)"
    - Added read-only support for the new image format "G3 (Raw fax format CCITT G.3)"
    - Added IPTC writing support to JPEG & TIFF plugins
    - Added support for EXIF tags to TIFF plugin (read only)
    - Added support for 64-bit images to "FreeImage_ConvertTo32Bits"
    - Added support for 48-bit images to "FreeImage_ConvertTo24Bits"
    - Added support for 16-bit greyscale images to "FreeImage_ConvertTo8Bits"
    - Added support for 1-bit images to "FreeImage_Paste"
    - "FreeImage_Dither" and "FreeImage_Threshold" now work with palletized 8-bit images
    - "FreeImage_Copy" now works with any bitmap type
    - "FreeImage_Allocate" now set the resolution to 72 dpi instead of 0
    - 4-bit PNG are now loaded as 4-bit and no longer converted to 8-bit
    - Fixed several bugs

! Changed the "modFreeImage3.vb" module so that it will no longer give ANY warnings in
   VB.NET 2003 or VB.NET 2005 during compile (it never gave errors, but some people have
   a policy of "zero warnings during compile"... so this should help)
! Changed the "AIL.Effect_Grayscale" function to use the new
   "modFreeImage.FreeImage_ConvertToGreyscale" function
! Changed all routines that converted images to grayscale to use the new
   "FreeImage_ConvertToGreyscale" function
! Changed all routines in the ASP version of the VB5 and VB6 libraries that return
   arrays so that when the method call fails... instead of returning a variant array
   with 1 element defined it will return none (which is correct behavior)
! Changed all routines in the ASP version of the VB5 and VB6 libraries that return
   arrays so that when the returned arrays are redimentioned, they are redimentioned
   as the true data type instead of everything being redimentioned and returned as
   VARIANT arrays. The result is an array of LONG's or BYTE's or STRING's is returned
   in the return variant instead of an array of VARIANT's being returned in the variant
   (which is more correct behavior)
! Changed all routines in the ASP version of the VB5 and VB6 libraries that return
   arrays so that when the values that are returned via the arrays are passed back, it
   is done directly instead of iterating through (which should greatly improve
   performance)
! Changed the "AIL.Effect_SetTransparentColor" and
   "modFreeImage.FreeImage_Effect_SetAlphaTransparency" functions to add an optional
   parameter that allows you to leave the existing ALPHA channel value for pixels/
   colors that do NOT match the one specified. This new parameter is optional and has
   a default value set to mimics the old functionality... so existing code will not be
   effected.
! Changed all META DATA related functions to use "AIL.Metadata_Set" and "AIL.Metadata_Get"
   so all code is standardized and uses the same code base (making future changes easier
   and more standardized)
! Renamed the "AIL.Info_MetadataClear" to "AIL.Metadata_Clear"
! Renamed the "AIL.Info_CommentsGet" to "AIL.Metadata_Get_Comments"
! Renamed the "AIL.Info_CommentsSet" to "AIL.Metadata_Set_Comments"
! Renamed the "AIL.Info_MetadataEXIF" to "AIL.Metadata_Get_EXIF"
! Renamed the "AIL.Info_MetadataGeoTIFF" to "AIL.Metadata_Get_GeoTIFF"
! Renamed the "AIL.Info_MetadataIPTC" to "AIL.Metadata_Get_IPTC"
! Renamed the "AIL.Info_MetadataXMP" to "AIL.Metadata_Get_XMP"
! Renamed the "AIL.GetMetadata" to "AIL.Metadata_Get"... and changed it from Private to
   Public to expose it to the AIL interface so advanced programmers can use it directly
   if they need to
! Renamed the "modMetafile.MF_ConvertAmpToWmf" method to "modMetafile.MF_ConvertApmToWmf"
   because there was a typo in the name
+ Added a new function "AIL.Metadata_Set" which gives advanced programmers the ability
   to set META DATA inforamtion directly into images if they need to
+ Added a new function "AIL.Metadata_Set_GeoTIFF" which gives programmers the ability
   to set GeoTIFF inforamtion into TIFF images
+ Added a new function "AIL.Metadata_Set_IPTC" which gives programmers the ability to
   set IPTC/NAA inforamtion into TIFF or JPEG images
+ Added a new function "AIL.Metadata_Set_XMP" which gives programmers the ability to set
   XMP packet inforamtion into TIFF, JPEG, or PNG images
+ Added a new function "AIL.MemoryDC_OverlayText" that allows you to take a Memory-Based
   DC (Device Context) or a Window-Based DC and render stylized text directly to it
+ Added a new function "AIL.MemoryDC_FillEllipse" that allows you to take a Memory-Based
   DC (Device Context) or a Window-Based DC and fill a circle or oval shape within it
   with a solid color, or a pattern
+ Added a new function "AIL.MemoryDC_FillRectangle" that allows you to take a Memory-Based
   DC (Device Context) or a Window-Based DC and fill the entire background, or a portion
   of it with a solid color, or a pattern
+ Added a new function "AIL.IO_CreateThumbnail" that takes an image and scales it down to
   meet a MAX width/height specified (keeping the original image's aspect ratio)
+ Added a new function "AIL.IO_SaveToBase64" that takes the specified image handle and
   converts it to a BASE64 encoded string. This is the same as saving the image to file,
   then reading the file in as a binary file, then converting that binary information to
   a BASE64 encoded string.
+ Added a new function "AIL.IO_LoadFromBase64" that takes the specified BASE64 encoded
   string, which was previously created by the "IO_SaveToBase64" method, and converts
   it to a usable image handle.
+ Added a new function "modFreeImage.FreeImage_ConvertToGreyscale". Converts a bitmap to
   a 8-bit greyscale image with a linear ramp. Contrary to the FreeImage_ConvertTo8Bits
   function, 1-, 4- and 8-bit palletized images are correctly converted, as well as
   images with a FIC_MINISWHITE color type.
+ Added a new function "modFreeImage.FreeImage_MakeThumbnail". that takes an image and
   scales it down to meet a MAX width/height specified (keeping the original image's
   aspect ratio)
+ Added a new function "modFreeImage.FreeImage_ReadMemory". Reads data from a memory
   stream into the specified buffer. When FreeImage_ReadMemory/FreeImage_WriteMemory
   are combined with FreeImage_SeekMemory/FreeImage_TellMemory, they represents an
   alternative to the use of temporary files.
+ Added a new function "modFreeImage.FreeImage_WriteMemory". Writes data to a memory
   stream from the specified buffer. When FreeImage_ReadMemory/FreeImage_WriteMemory
   are combined with FreeImage_SeekMemory/FreeImage_TellMemory, they represents an
   alternative to the use of temporary files.
+ Added the following to the "IMAGE_FLAGS" enumeration: JPEG_CMYK, JPEG_PROGRESSIVE,
   FAXG3_DEFAULT, SGI_DEFAULT
+ Added a new sub-directory called "VB.NET 2003 DLL" which contains a VB.NET 2003
   (.NET Framework 1.1) version of the "Advanced Imagery Library"
+ Added a new sub-directory called "VB.NET 2005 DLL" which contains a VB.NET 2005
   (.NET Framework 2.0) version of the "Advanced Imagery Library"
+ Added a new sub-directory called "VB.NET 2003 Module" which holds the file
   "modFreeImage3.vb" which is a FreeImage3.dll wrapper module designed for use with
   VB.NET 2003 (.NET Framework 1.1)
+ Added a new sub-directory called "VB.NET 2005 Module" which holds the file
   "modFreeImage3.vb" which is a FreeImage3.dll wrapper module designed for use with
   VB.NET 2005 (.NET Framework 2.0)
+ Added a new sub-directory called "REALbasic 5.5 Wrapper" which holds the file
   "cAdvancedImagery.xml" which is a AIL wrapper module designed for use with
   REALbasic 5.5
+ Added a new sub-directory called "REALbasic 2005 Wrapper" which holds the file
   "cAdvancedImagery.xml" which is a AIL wrapper module designed for use with
   REALbasic 2005
+ Added a new sub-directory called "REALbasic 2006 Wrapper" which holds the file
   "cAdvancedImagery.xml" which is a AIL wrapper module designed for use with
   REALbasic 2006
+ Added several sample projects tot he "_SAMPLES" sub-directory
- Removed all unused variable declarations from all functions in all modules

__________________________________________________

[February 25, 2006] Version 2.1.1

* Fixed the "AIL.IO_SaveToBinary" method in the "cAdvancedImagery_ASP" class so
   it properly returns the byte stream in a format that is friendly to the
   "Response.BinaryWrite" call in ASP classic.
* Updated the HTML Help file to provide ASP sample code to demonstrate how to use
   the Advanced Imagery Library to load images on the server and stream them to the
   client. This can be used to load an image on the server, alter it, overlay text
   onto it, resize it, or otherwise change it... then stream the changed image
   directly to the client without having to save it to the server's hard drive.
   One very practical modern application of this is creating security images for
   application forms to prevent bots from auto-signing up for web services and
   products.
+ Added a new method called "AIL.MemoryDC_InsertImage" so you don't have to convert
   an image to a bitmap before calling "AIL.MemoryDC_InsertBitmap" with it
+ Added a new method called "AIL.MemoryDC_IsValid" to tell you if a Device Context
   (memory-based or window-based) is valid
+ Added the source code to a sample application called "Picture It" which is a
   full-featured image editor that demonstrates the use of AIL. Keep in mind that
   "Picture It" is a work in progress and is NOT done yet. It will continue to
   change and evolve. If you have suggestions on how to improve this application,
   send an e-mail to: info@advimglib.com

__________________________________________________

[June 3, 2005] Version 2.1.0

+ Added the following "AIL.IMAGE_FLAGS" which were missing: GIF_LOAD256,
   GIF_PLAYBACK, TIFF_JPEG
+ Added a new method called "AIL.MemoryDC_Create" which creates a memory-based
   Device Context (DC)
+ Added a new method called "AIL.MemoryDC_Destroy" which deletes the specified
   memory-based Device Context (DC)
+ Added a new method called "AIL.MemoryDC_InsertBitmap" which inserts the specified
   BITMAP (or BRUSH, or FONT, or PEN, or REGION) into a Device Context (DC)
+ Added a new method called "AIL.MemoryDC_Render" which renders the BITMAP contained
   within the specified Device Context(DC) onto another Device Context (DC)...
   optionally stretching it as you do so
+ Added a new method called "AIL.Info_MetadataClear" which allows you to delete /
   clear specified metadata, or ALL metadata from a loaded image
+ Added a new method called "AIL.Info_MetadataGeoTIFF" which retrieves the GeoTIFF
   data contained within TIFF images
   (see also: http://www.remotesensing.org/geotiff/geotiff.html)
+ Added a new enumeration called "AIL.MetaDataType" to support the new method
   "AIL.Info_MetadataClear"
+ Added a new enumeration called "AIL.GifFrameDisposalMethod" to support the new
   changes to the method "AIL.IO_SaveAnimatedGIF"
+ Added the enumeration values for "MetaDataType" to the ASP include file "AIL.asp"
+ Added the enumeration values for "GifFrameDisposalMethod" to the ASP include
   file "AIL.asp"
! Changed the "AIL.IO_SaveAnimatedGIF" to add an optional parameter named
   "lngLoopCount" (which indicates how many times the animated GIF should loop)
! Changed the "AIL.IO_SaveAnimatedGIF" to add an optional parameter named
   "blnInterlaced" (which indicates whether the animated GIF's frames should
   be interlaced or not)
! Changed the "AIL.IO_SaveAnimatedGIF" to add an optional parameter named
   "lngFrameDisposalMethod" (which indicates how the animated GIF frames should
   be disposed once they are drawn during animation)
! Changed the "modFreeImage.FreeImage_DeleteTag" function so that it automatically
   cleans up the tag pointer sent to it (which avoids memory exceptions)
! Changed the "modFreeImage.FreeImage_Unload" function to check for invalid image
   handle before attempting to delete it
* Fixed a memory leak in the "AIL.IO_SaveAnimatedGIF" method
* Updated the VB.NET module "modFreeImage3.vb" to include missing information:
   FREE_IMAGE_FORMAT, FREE_IMAGE_FLAGS, FREE_IMAGE_MDMODEL, FREE_IMAGE_TMO,
   FREE_IMAGE_JPEG_OPERATION
* Updated the ASP include file "AIL.asp" to include the missing IMAGE_FLAGS:
   GIF_LOAD256, GIF_PLAYBACK, TIFF_JPEG

__________________________________________________

[May 30, 2005] Version 2.0.0

! FreeImage3.dll updated to v3.7.0:
    - Now uses ZLib 1.2.2
    - Now uses libPNG 1.2.8
    - Now uses libTIFF 3.7.2
    - Now uses libMNG 1.0.9
    - Version information is now stored on the file FreeImage3.dll (makes
      version control much easier)
    - Image rotation functions have been altered to improve performance
    - "FreeImage_OpenMultiBitmap" function has been altered to improve performance
    - Added support for Animated GIF images via the "MultiPage_*" methods
    - Added support for saving GIF images using LZW compression (previously only
      reading LZW GIF images was supported)
    - Added support for the new image format "HDR (High Dynamic Range)"
! Altered "modMetafile.MF_ConvertWmfToEmf" so it is now a PUBLIC function (instead of
   PRIVATE) to facilitate some of the new WMF / EMF functionality in the AIL class
! Altered "AIL.Clipboard_Get" method to properly handle BMP, WMF, EMF, and ICO
   properly (note: "Clipboard_Set" always sets a BITMAP to the clipboard)
! Altered "AIL.Convert_PictureToDib" method to properly handle BMP, WMF, EMF, and
   ICO properly
! Altered "AIL.Convert_PictureToImage" method to properly handle BMP, WMF, EMF, and
   ICO properly
! Altered "AIL.Convert_PictureToBitmap" method to properly handle BMP, WMF, EMF, and
   ICO properly
! Altered "AIL.Convert_PictureToBitmap" method to take an additional OPTIONAL
   parameter "lngBackgroundColor" (defaults to black) which allows you to specify
   the background color of transparent WMF and EMF images. Transparent ICONs always
   have BLACK set as their background.
! Altered "AIL.IO_DestroyBitmap" method to correctly clean up DIB, BMP, WMF, EMF and
   all other GID objects (i.e. Pen, Brush, DC, Font, etc)
! Altered "AIL.IO_DestroyBitmap" method so that it will properly clean up the following
   GDI objects: Device Dependant Bitmap (DDB) / Win32 BITMAP, Device Independent
   Bitmap (DIB), Pen, Extended Pen, Brush, Font, Region, Palette, Device Context (DC),
   Metafile (WMF), Enhanced Metafile (EMF), and Colorspace. You should use
   "AIL.IO_DestroyImage" to clean up images created by "IO_Copy", "IO_CreateNew",
   "IO_LoadImage", "IO_LoadFromBinary", "MultiPage_Load", "Clipboard_Get", or
   any of the FreeImage API calls.
! Renamed "AIL.Render_Transparent" to "AIL.Render_Blend" (because that more accurately
   describes it's functionality)
! Renamed "modFreeImage3.FreeImage_Render_Transparent" to
   "modFreeImage3.FreeImage_Render_Blend" (because that more accurately describes it's
   functionality)
+ Added a new method called "AIL.Render_Transparent" which is compatible with the old
   "AIL.Render_Transparent" method... except for the last OPTIONAL parameter of the
   old method (which doesn't exist on the new method). It is strongly recommended that
   you use this new method to do all of your rendering because it will correctly handle
   all image types.
+ Added a new method called "AIL.Convert_To04bit" to convert images to 4-bit (16 color)
+ Added a new method called "AIL.Convert_ImageToEmf" which converts images to Enhanced
   Metafile (EMF)
+ Added a new method called "AIL.Convert_BitmapToEmf" which converts Win32 BITMAPs to
   Enhanced Metafile (EMF)
+ Added a new method called "AIL.Convert_PictureToEmf" which converts VB "StdPicture"
   objects to Enhanced Metafile (EMF)
+ Added a new method called "AIL.Convert_DibToEmf" which converts Device Independent
   Bitmaps (DIB) to Enhanced Metafile (EMF)
+ Added a new method called "AIL.Convert_WmfToEmf" which converts Windows Metafiles (WMF)
   to Enhanced Metafiles (EMF) NOTE: WMF format is from the days of 16-bit Windows and
   has since been replaced by EMF
+ Added a new method called "AIL.Convert_EmfToImage" which converts an Enhanced Metafile
   (EMF) to an image which can be used by AIL
+ Added a new method called "AIL.Convert_EmfToBitmap" which converts an Enhanced Metafile
   (EMF) to a Win32 BITMAP
+ Added a new method called "AIL.Convert_EmfToPicture" which converts an Enhanced Metafile
   (EMF) to a VB "StdPicture" object
+ Added a new method called "AIL.Convert_EmfToDib" which converts Enhanced Metafile (EMF)
   to Device Independent Bitmap (DIB)
+ Added a new method called "AIL.Info_MimeToImagetype" which takes the given MIME type
   (like the ones that are passed over the internet to describe stream content) and
   converts it to an image format type
+ Added a new method called "AIL.Info_MimeFromImagetype" which takes an image format
   type and converts it to a MIME type (which can be used to stream images over the
   internet, etc.)
+ Added a new method called "AIL.Info_CommentsSet" which sets comment text into JPEG,
   TIFF, & PNG images
+ Added a new method called "AIL.Info_CommentsGet" which retrieves comment text set
   into JPEG, TIFF, & PNG images
+ Added a new method called "AIL.Info_MetadataXMP" which retrieves the XMP data contained
   within JPEG, TIFF, & PNG images (see also: http://www.adobe.com/products/xmp/main.html)
+ Added a new method called "AIL.Info_MetadataIPTC" which retrieves the IPTC data
   contained within JPEG & TIFF images (see also: http://www.iptc.org or
   http://www.naa.org or http://www.controlledvocabulary.com/imagedatabases/iptc_naa.html)
+ Added a new method called "AIL.Info_MetadataEXIF" which retrieves the EXIF data
   contained within JPEG images (see also: http://www.exif.org)
+ Added a new method called "AIL.IO_SaveAnimatedGIF" which allows you to take multiple
   images and create an Animated GIF with them.
+ Added a new method called "AIL.IO_SaveToBinary" which allows you to save an image
   directly to binary data (byte array) without touching the file system (this allows
   you to save images directly to a database, or to an internet stream)
+ Added a new method called "AIL.IO_LoadFromBinary" which takes an image in the form
   of binary data (byte array) and loads it to an image which can be used by AIL
+ Added a new method called "AIL.IO_PrintImage" which takes the specified image and
   prints it to the system's default printer
+ Added a new method called "AIL.Info_PrinterWidth" which returns the width (in pixels)
   of the default printer (given the paper size and orientation)
+ Added a new method called "AIL.Info_PrinterHeight" which returns the height (in
   pixels of the default printer (given the paper size and orientation)
+ Added a new method called "AIL.Screen_Info" which returns the information about the
   user's current display settings
+ Added a new method called "AIL.Screen_Capture" which captures the current display
   as an image of the specified color depth
+ Added the "ExifInfoType" enumeration to AIL to be used with the "AIL.Info_MetadataEXIF"
   method
+ Added the "FITAG" type / structure to the "modFreeImage3.bas" module to support the
   MetaData functions
+ Added the "FREE_IMAGE_MDMODEL" enumeration to the "modFreeImage3.bas" module to
   support the MetaData functions
+ Added the "FREE_IMAGE_MDTYPE" enumeration tot he "modFreeImage3.bas" module to
   support the MetaData functions
+ Added the "DeleteColorSpace" Win32 API to the "modBitmap_Adv.bas" module to enable
   "AIL.IO_DestroyBitmap" ti delete Colorspace GID objects
+ Added support for the MetaData functionality that FreeImage offers, which includes the
   following function declarations in the "modFreeImage3.bas" module:
    - FreeImage_CreateTag
    - FreeImage_DeleteTag
    - FreeImage_CloneTag
    - FreeImage_GetTagKey
    - FreeImage_GetTagDescription
    - FreeImage_GetTagID
    - FreeImage_GetTagType
    - FreeImage_GetTagCount
    - FreeImage_GetTagLength
    - FreeImage_GetTagValue
    - FreeImage_SetTagKey
    - FreeImage_SetTagDescription
    - FreeImage_SetTagID
    - FreeImage_SetTagType
    - FreeImage_SetTagCount
    - FreeImage_SetTagLength
    - FreeImage_SetTagValue
    - FreeImage_FindFirstMetadata
    - FreeImage_FindNextMetadata
    - FreeImage_FindCloseMetadata
    - FreeImage_GetMetadata
    - FreeImage_SetMetadata
    - FreeImage_GetMetadataCount
    - FreeImage_TagToString
+ Added support for the "Load From Memory / Save To Memory" functionality that FreeImage
   offers, which includes the following function declarations in the "modFreeImage3.bas"
   module:
    - FreeImage_CloseMemory
    - FreeImage_OpenMemory
    - FreeImage_LoadFromMemory
    - FreeImage_SaveToMemory
    - FreeImage_TellMemory
    - FreeImage_SeekMemory
    - FreeImage_AcquireMemory
    - FreeImage_GetFileTypeFromMemory
* Added the following function declarations to the "modFreeImage3.bas" module:
    - FreeImage_ColorQuantizeEx
    - FreeImage_ConvertTo4Bits
    - FreeImage_ConvertToRGBF
    - FreeImage_GetFIFMimeType
    - FreeImage_JPEGTransform
    - FreeImage_SetDotsPerMeterX
    - FreeImage_SetDotsPerMeterY
    - FreeImage_TmoDrago03
    - FreeImage_TmoReinhard05
    - FreeImage_ToneMapping
    - FreeImage_ZLibCRC32
    - FreeImage_ZLibGZip
    - FreeImage_ZLibGUnzip
* Corrected the "FreeImage_MultiPage_Add2" function within the "modFreeImage3.bas" module
   so that the second parameter "FileName_New" is no longer optional (because it really
   is required for the function to succeed)
* Corrected a small bug in the "modBitma_Adv.Color_Blend" method
* Corrected several other smaller bugs that were discovered during the upgrade and
   documentation process

__________________________________________________

[September 18, 2004] Version 1.4.2

! Altered the ASP version of AIL "AdvImgLib_ASP.dll" (all other versions of
   AIL stayed exactly the same). The following functions within that DLL
   where changed:
    - Info_ColorArray
    - Info_ColorArrayEx
    - Info_ColorSet
    - Info_ColorSetEx
    - Info_GetPalette
    - Info_SetPalette
    - MultiPage_Load
   Each of these functions had one or more parameters that were declared as
   "Variant Arrays". These parameters were changed to be a simple Variant
   (which can contain an array) to correct a problem where information passed
   ByRef from ASP to VB was causing a problem.

__________________________________________________

[August 11, 2004] Version 1.4.1

! Altered the DLL_Copyright and DLL_Version to make them more accurate and
   require less up-keep
+ Added the "Color_OLE" method in order to take an Red, Green, & Blue value and
   get back the corresponding OLE_COLOR value
* Fixed a slight bug in the HTML documentation

__________________________________________________

[July 11, 2004] Version 1.4.0

! FreeImage DLL upgraded from 3.3.0 to 3.4.0 (Added LZW compression support for
   TIFF & GIF [not yet available for output on GIF], added GIF file format support,
   added DDS (DirectDraw Surface) file format support, and fixed several bugs
   dealing with TIFF, TARGA, and PNG images)
! Renamed the "PNM_DEFAULT", "PNM_SAVE_RAW", and "PNM_SAVE_ASCII" constants to be
   the following (for consistency reasons): "PBM_DEFAULT", "PBM_SAVE_RAW",
   "PBM_SAVE_ASCII", "PGM_DEFAULT", "PGM_SAVE_RAW", "PGM_SAVE_ASCII",
   "PPM_DEFAULT", "PPM_SAVE_RAW", and "PPM_SAVE_ASCII"
+ Added the "FIF_DDS" (DirectDraw Surface) and "FIF_GIF"
   (Graphics Interchange Format) values to the "IMAGE_FORMAT" enumeration
+ Added the "DDS_DEFAULT", "GIF_DEFAULT", "TIFF_CCITTFAX3", "TIFF_CCITTFAX4",
   and "TIFF_LZW" values to the "IMAGE_FLAGS" enumeration
* Changed the default value of the optional "ColorOption" parameter of the
   "Convert_To08bit" method to be "co256_Quantize2" instead of "co256_Quantize1"
   because it looks better
* Changed the "IO_SaveImage" method to automatically convert GIF images to 8-bit
   if they are not already
* Fixed a bug in the "IO_SaveImage" method
* Fixed a bug in the "Convert_To08bit" method that occurred if the specified image
   to convert was *NOT* 24-bit and "co256_Quantize1" or "co256_Quantize2" is
   specified as the "ColorOptions" parameter
* Improved the "Convert_To08bit" method to be faster and more memory efficient
   when "co256_Grayscale" is specified as the "ColorOptions" parameter
* Improved the "Effect_Grayscale" method to be more memory efficient
__________________________________________________

[July 02, 2004] Version 1.3.1

! Altered the way the "FreeImage_Effect_Grayscale" function works within the
   "modFreeImage.bas" / "modFreeImage.vb" module (should be much faster now on
   large images)
! The default value for the optional parameter "ColorChannel" of the
   "cAdvancedImagery.Effect_SetAlphaChannel" method was changed from "ICC_RGB" to
   "ICC_ALPHA"... which is more appropriate for the function
* Fixed the "cAdvancedImagery.Effect_SetAlphaChannel" method to ensure that the MASK
   image that is passed in to define the image's transparecy is valid
* Fixed the HTML help file (it was missing some information)
+ Added a method called "Effect_SetTransparencyFromLuminence" to the AIL class that
   allows you to set an image's transparency level based on it's luminescence. This
   gives a "ghost" effect to images when rendered with the "Render_Alpha" method.
+ Added a method called "Info_TransparentGet" which will return TRUE or FALSE to tell
   you if an image is currently set to be transparent. Note that only 8-bit and
   32-bit images can be transparent.
+ Added a method called "Info_TransparentSet" which will specify whether that an
   image is transparent or not. Note that only 8-bit and 32-bit images can be
   transparent.
+ Added a method called "Info_Palletized" which returns TRUE if the specified image
   makes use of a color palette (FALSE otherwise)

__________________________________________________

[June 15, 2004] Version 1.3.0

! "AdvImgLib.dll" is compiled under VB6 [SP6], and a new version "AdvImgLib5.dll" has been
   created for VB5 (compiled with VB5 [SP3]). These 2 libraries are identical except for
   their name and what they are compiled with.
+ Added the ability to load Windows Metafile (WMF) and Enhanced Metafile (EMF) images via
   the "IO_LoadImage" method
+ Added the ability to save as an Enhanced Metafile (EMF) via the "IO_SaveImage" method
+ Added the "IF_WMF" and "IF_EMF" values to the "IMAGE_FORMAT" enumeration
+ Added the "WMF_DEFAULT" and "EMF_DEFAULT" values to the "IMAGE_FLAGS" enumeration
+ Added the ability for the "IO_GetFileFormat" and "IO_GetFileFormatEx" methods to
   recognize WMF and EMF image file formats
+ Added the "Info_ColorSet" and "Info_ColorSetEx" methods (which compliment the
   "Info_ColorArray" and "Info_ColorArrayEx" methods by allowing you to set an array
   of colors into an image)
* Fixed a few minor bugs

__________________________________________________

[May 28, 2004] Version 1.2.5

! FreeImage DLL upgraded from 3.2.1 to 3.3.0 (fixed some incorrect TGA and TIFF read/write
   functionality)
+ Added a method called "Convert_BitmapToPicture" to allow you to convert a Win32 BITMAP
   directly to a VB "StdPicture" object
+ Added a method called "Convert_DibToPicture" to allow you to convert a Device
   Independent Bitmap (DIB) directly to a VB "StdPicture" object
+ Added a method called "Convert_ImageToDib" to allow you to convert an AIL Image directly
   to a Device Independent Bitmap (DIB)
+ Added a method called "Convert_PictureToBitmap" to allow you to convert a VB
   "StdPicture" object directly to a Win32 BITMAP
+ Added a method called "Convert_PictureToDib" to allow you to convert a VB "StdPicture"
   object directly to a Device Independent Bitmap (DIB)
+ Added a method called "Info_ColorArrayEx" which is just like "Info_ColorArray" but
   returns 3 arrays instead of 1... one for each color channel (R,G,B)
+ Added a method called "Color_SetPixel" which allows you to set the color at the
   specified coordinate of the image
+ Added a method called "Color_SetPixelEx" which allows you to set the R,G,B values at
   the specified coordinate of the image
* Improved the way the "Info_ColorArray" method gets the pixels from the image so it's
   faster and uses less memory
* Improved the way the "Color_GetPixel" method works
* Made a few corrections to the help file, then added information about the new methods

__________________________________________________

[May 18, 2004] Version 1.2.0

* Fixed problem with MOSAIC effect not rendering correctly
* Fixed incorrect parameters being passed to "SetAlphaChannel" function

__________________________________________________

[May 12, 2004] Version 1.1.0

! FreeImage DLL upgraded from 3.2.0 to 3.2.1
! OLE_COLOR data types changed to LONG data types (for consistency and compatibility)
+ Info_GetPalette() function added
+ Info_SetPalette() function added
+ ICO_MAKEALPHA Constant added
* Fixed BYREF errors in ASP version

__________________________________________________

[April 8, 2004] Version 1.0.0

+ Initial Release


Click here to purchase the Advanced Imagery Library