|
|||||||||||||
|
Change Log
! : changed + : added * : fixed - : removed __________________________________________________ [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
|
||||||||||||