Changes from Version 12.1 to Version 13
Please note that Version 13 will be the last full upgrade for LEADTOOLS Class Library.
Version 13 of the LEADTOOLS Class Library has changed from Version 12.1 as follows:
 LEADTOOLS now supports region of interest 
 in J2K files.
 LEADTOOLS now supports region of interest 
 in J2K files.
 For an important 
 note concerning the BITMAPHANDLE structure, please refer to the Changed 
 Structures section of this 
 topic.
 For an important 
 note concerning the BITMAPHANDLE structure, please refer to the Changed 
 Structures section of this 
 topic.
 IMPORTANT NOTICE CONCERNING SUPPORT FOR ISIS 
 DRIVERS:
 IMPORTANT NOTICE CONCERNING SUPPORT FOR ISIS 
 DRIVERS:
LEADTOOLS TOOLKITS CONTAIN SUPPORT FOR ISIS® DRIVERS USING PIXEL TRANSLATIONS RUNTIME (PIXDFLTN. DLL) VERSION NUMBER 55.1.260.832 OR EARLIER ALLOWING LEADTOOLS TO DIRECTLY INTERFACE WITH THE ISIS DRIVERS.
LEADTOOLS TOOLKITS DO NOT DIRECTLY COMMUNICATE WITH ISIS ® DRIVERS USING PIXEL TRANSLATIONS RUNTIME (PIXDFLTN) VERSION NUMBER 56.*.*.* OR HIGHER. A LEADTOOLS APPLICATION WHICH OPERATES PROPERLY WITH THE EARLIER VINTAGE ISIS DRIVERS WILL CEASE TO OPERATE PROPERLY IF THE OLDER ISIS DRIVER IS REPLACED WITH A NEWER ISIS DRIVER REQUIRING THE PIXEL TRANSLATIONS RUNTIME DLL VERSION NUMBER 56.*.*.* OR HIGHER.
 Support for 12 and 16-bit grayscale images 
 and 48 and 64-bit color images is now available in Document and Medical 
 toolkits.
 Support for 12 and 16-bit grayscale images 
 and 48 and 64-bit color images is now available in Document and Medical 
 toolkits.
 LEADTOOLS now supports the following file 
 formats:
 LEADTOOLS now supports the following file 
 formats:
PTOCA (Presentation Text Object Content Architecture)
SCT (Scitex Continuous Tone Format)
PCL (Printer Command Language)
IOCA (Image Object Content Architecture)
 LEADTOOLS now supports a Mixed Raster Content 
 module for support of images that contain mixed image and text components.
LEADTOOLS now supports a Mixed Raster Content 
 module for support of images that contain mixed image and text components.
 LEADTOOLS now supports super-compression 
 of 1-bit and 24-bit bitmaps.
 LEADTOOLS now supports super-compression 
 of 1-bit and 24-bit bitmaps.
 LEADTOOLS now provides the means to get information 
 about annotation files and delete pages from annotation files.
 LEADTOOLS now provides the means to get information 
 about annotation files and delete pages from annotation files.
 LEADTOOLS can perform Lossless transformations 
 (rotate, flip and reverse) on JPEG, CMP and JPEG TIFF files. This is superior 
 to loading the image, performing the transformation and the saving the 
 image.
 LEADTOOLS can perform Lossless transformations 
 (rotate, flip and reverse) on JPEG, CMP and JPEG TIFF files. This is superior 
 to loading the image, performing the transformation and the saving the 
 image.
 LEADTOOLS provides support for removing red-eye 
 from images.
 LEADTOOLS provides support for removing red-eye 
 from images.
 LEADTOOLS supports an anti-aliasing filter.
 LEADTOOLS supports an anti-aliasing filter.
 LEADTOOLS can perform Gaussian blurring.
 LEADTOOLS can perform Gaussian blurring.
 LEADTOOLS lets you swap color channel values 
 across the R, G and B color channels.
 LEADTOOLS lets you swap color channel values 
 across the R, G and B color channels.
 New functions let you give images an "old-fashioned" 
 look by converting to "colored gray".
 New functions let you give images an "old-fashioned" 
 look by converting to "colored gray".
 LEADTOOLS can add or average bitmaps within 
 a list.
 LEADTOOLS can add or average bitmaps within 
 a list.
 LEADTOOLS lets you resize individual regions 
 within a bitmap.
 LEADTOOLS lets you resize individual regions 
 within a bitmap.
 LEADTOOLS can add motion blur to images.
 LEADTOOLS can add motion blur to images.
 New functions let you combine images using 
 a single opacity value, or varying opacity values. Using the varying opacity 
 values creates a feathering appearance.
 New functions let you combine images using 
 a single opacity value, or varying opacity values. Using the varying opacity 
 values creates a feathering appearance.
 LEADTOOLS lets you add borders and frames 
 to bitmaps.
 LEADTOOLS lets you add borders and frames 
 to bitmaps.
 LEADTOOLS provides more support for grouping 
 and ungrouping annotation objects.
 LEADTOOLS provides more support for grouping 
 and ungrouping annotation objects.
 The LEADTOOLS Image List now lets you redraw 
 individual items within the Image List.
 The LEADTOOLS Image List now lets you redraw 
 individual items within the Image List.
 LEADTOOLS provides support for determining 
 whether a magnifying glass is attached to a window, a control or an object.
 LEADTOOLS provides support for determining 
 whether a magnifying glass is attached to a window, a control or an object.
 Support for ISIS ASCI tags is now provided.
 Support for ISIS ASCI tags is now provided.
 LEADTOOLS now supports loading and saving 
 layers in PSD files.
 LEADTOOLS now supports loading and saving 
 layers in PSD files.
 LEADTOOLS now lets you get or set pixel data 
 for 48 and 64-bit bitmaps.
 LEADTOOLS now lets you get or set pixel data 
 for 48 and 64-bit bitmaps.
 The LEADTOOLS picturize capabilities have 
 been extended to picturize an image using a single bitmap or a list of 
 bitmaps.
 The LEADTOOLS picturize capabilities have 
 been extended to picturize an image using a single bitmap or a list of 
 bitmaps.
 LEADTOOLS now lets you alter the shape of 
 certain annotations by holding down the Shift key while drawing. (An Ellipse 
 object will automatically be drawn as a circle; other annotations like 
 notes, buttons, audio clips, etc. will automatically be drawn as squares.)
 LEADTOOLS now lets you alter the shape of 
 certain annotations by holding down the Shift key while drawing. (An Ellipse 
 object will automatically be drawn as a circle; other annotations like 
 notes, buttons, audio clips, etc. will automatically be drawn as squares.)
 LEADTOOLS now lets you associate metafiles 
 with hotspot annotations and freehand hotspot annotations.
 LEADTOOLS now lets you associate metafiles 
 with hotspot annotations and freehand hotspot annotations.
 LEADTOOLS now provides the ability move the 
 name of annotation objects.
 LEADTOOLS now provides the ability move the 
 name of annotation objects.
 LEADTOOLS now lets you create curved regions 
 or add a curved region to an existing region.
 LEADTOOLS now lets you create curved regions 
 or add a curved region to an existing region.
 LEADTOOLS now lets you convert standard curves 
 to Bezier curves.
 LEADTOOLS now lets you convert standard curves 
 to Bezier curves.
 LEADTOOLS can now resize bitmaps during the 
 load process.
 LEADTOOLS can now resize bitmaps during the 
 load process.
 LEADTOOLS now lets you save bitmaps to files 
 in memory.
 LEADTOOLS now lets you save bitmaps to files 
 in memory.
 LEADTOOLS supports Exif extensions, so you 
 can now retrieve embedded audio data and stamps contained in Exif files 
 as extension data.
 LEADTOOLS supports Exif extensions, so you 
 can now retrieve embedded audio data and stamps contained in Exif files 
 as extension data.
Changed or removed functions
The following functions have been changed from the previous version of LEADTOOLS or removed:
LAnnotation::GetBoundingRect takes 1 new parameter.
LAnnotation::GetName (takes 2 new parameters) has been removed
LAnnotation::SetName (takes 2 new parameters) has been removed
LAnnotation::GetRect takes 1 new parameter.
LAnnContainer::Save takes 1 new parameter.
LAnnContainer::SaveMemory takes 1 new parameter.
LAnnContainer::SaveOffset takes 1 new parameter.
LBaseFile::GetDefaultLoadFileOption takes 1 new parameter.
LBaseFile::GetDefaultSaveFileOption takes 1 new parameter.
LBitmapBase::Allocate supports a new memory type flag.
LBitmap::GetHistogram takes 1 new parameter and supports 12 and 16-bit grayscale images.
LBitmap::Halftone takes 1 new parameter and supports 12 and 16-bit grayscale images.
LBitmap::HistoEqualize takes 1 new parameter.
LBitmap::MedianFilter supports 12 and 16-bit grayscale images.
LBitmap::MaxFilter supports 12 and 16-bit grayscale images.
LBitmap::MinFilter supports 12 and 16-bit grayscale images.
LBitmap::RemapIntensity takes 1 new parameter.
LFile::LoadFile supports a new flag.
LFile::LoadOffset supports a new flag.
LFile::LoadTile supports a new flag.
The following functions have been removed:
| LAnnStamp::GetPredefinedMetafile | This function is now inherited from the parent LAnnotation class. See LAnnotation::GetPredefinedMetafile. | 
| LAnnStamp::SetPredefinedMetafile | This function is now inherited from the parent LAnnotation class. See LAnnotation::SetPredefinedMetafile. | 
 The BITMAPHANDLE structure has changed to allow the user to 
 limit the number of GDI resources LEAD bitmaps require. This change could 
 cause existing source code to no longer compile. However, this change 
 WILL NOT affect existing applications/binaries. The purpose of this change 
 is to allow users to load many images, without each using up GDI resources 
 by creating an HPALETTE. The former (and default) behavior is that for 
 each image that is loaded from file, an HPALETTE GDI object is created. 
 There is a limited number of GDI objects available and loading a large 
 number of small images can exhaust the GDI memory. In this case, you will 
 get "out of memory" errors, although you have plenty physical 
 or virtual memory available.
 The BITMAPHANDLE structure has changed to allow the user to 
 limit the number of GDI resources LEAD bitmaps require. This change could 
 cause existing source code to no longer compile. However, this change 
 WILL NOT affect existing applications/binaries. The purpose of this change 
 is to allow users to load many images, without each using up GDI resources 
 by creating an HPALETTE. The former (and default) behavior is that for 
 each image that is loaded from file, an HPALETTE GDI object is created. 
 There is a limited number of GDI objects available and loading a large 
 number of small images can exhaust the GDI memory. In this case, you will 
 get "out of memory" errors, although you have plenty physical 
 or virtual memory available. 
 The LOADINFO 
 structure now has 4 new members.
 The LOADINFO 
 structure now has 4 new members.
 The FILEINFO 
 structure has 1 new member.
 The FILEINFO 
 structure has 1 new member.
 The SAVEFILEOPTION 
 structure has 1 new member.
 The SAVEFILEOPTION 
 structure has 1 new member.
New structures
The following are new structures:
 COMPRESSIONOPTIONS
 COMPRESSIONOPTIONS
 CURVE
 CURVE
 MINSEGMENT (MRC module)
 MINSEGMENT (MRC module)
 SEGMENTDATA (MRC module)
 SEGMENTDATA (MRC module)
The rest of this topic lists the new functions in version 13.
Bitmap Palette
Annotations (Document/Medical only)
LAnnContainer::DeletePageMemory
LAnnContainer::DeletePageOffset
LAnnFreehandHotSpot::GetMetafile
LAnnFreehandHotSpot::SetMetafile
LAnnotation::GetPredefinedMetafile
LAnnotation::SetPredefinedMetafile
EXIF Extensions
Image List
LImageListControl::GetFirstVisible
LImageListControl::GetViewSize
Image Processing
LBitmapBase::Add has been removed
LBitmapBase::ConvertSignedToUnsigned
LBitmapBase::FeatherAlphaBlend
LBitmap::GetFunctionalLookupTable
ISIS
Magnifying Glass
LBitmapWindow::IsToolTypeMagGlass
Mixed Raster Content Module
LSegment::MrcDeleteSegment
LSegment::MrcEndBitmapSegmentation
LSegment::MrcEnumSegments
LSegment::MrcEnumSegmentsCallBack
LSegment::MrcGetPagesCount
LSegment::MrcLoadBitmap
LSegment::MrcSaveBitmap
LSegment::MrcSaveBitmapT44
LSegment::MrcSegmentBitmap
LSegment::MrcSegmentBitmapCallBack
LSegment::MrcSetNewStripe
LSegment::MrcSetStripeMaxHeight
LSegment::MrcSetStripeSegment
LSegment::MrcStartBitmapSegmentation
LSegment::MrcUpdateSegmentData
PSD Layers
Saving Buffers
LMemoryFile::SaveFileBufferCallBack
LMemoryFile::SaveBitmapBufferCallBack
Super Compression
LBitmapBase::ChangeCompression
LBitmapBase::IsSuperCompressed
Transforming Files
Miscellaneous
LBitmapRgn::GetClipSegmentsMax