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:

image\sqrblit.gif LEADTOOLS now supports region of interest in J2K files.

image\sqrblit.gif For an important note concerning the BITMAPHANDLE structure, please refer to the Changed Structures section of this topic.

image\sqrblit.gif 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.

image\sqrblit.gif Support for 12 and 16-bit grayscale images and 48 and 64-bit color images is now available in Document and Medical toolkits.

image\sqrblit.gif LEADTOOLS now supports the following file formats:

PTOCA (Presentation Text Object Content Architecture)

SCT (Scitex Continuous Tone Format)

PCL (Printer Command Language)

AFP

IOCA (Image Object Content Architecture)

SHP (ESRI Shape Format)

SMP

CMW

image\sqrblit.gifLEADTOOLS now supports a Mixed Raster Content module for support of images that contain mixed image and text components.

image\sqrblit.gif LEADTOOLS now supports super-compression of 1-bit and 24-bit bitmaps.

image\sqrblit.gif LEADTOOLS now provides the means to get information about annotation files and delete pages from annotation files.

image\sqrblit.gif 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.

image\sqrblit.gif LEADTOOLS provides support for removing red-eye from images.

image\sqrblit.gif LEADTOOLS supports an anti-aliasing filter.

image\sqrblit.gif LEADTOOLS can perform Gaussian blurring.

image\sqrblit.gif LEADTOOLS lets you swap color channel values across the R, G and B color channels.

image\sqrblit.gif New functions let you give images an "old-fashioned" look by converting to "colored gray".

image\sqrblit.gif LEADTOOLS can add or average bitmaps within a list.

image\sqrblit.gif LEADTOOLS lets you resize individual regions within a bitmap.

image\sqrblit.gif LEADTOOLS can add motion blur to images.

image\sqrblit.gif New functions let you combine images using a single opacity value, or varying opacity values. Using the varying opacity values creates a feathering appearance.

image\sqrblit.gif LEADTOOLS lets you add borders and frames to bitmaps.

image\sqrblit.gif LEADTOOLS provides more support for grouping and ungrouping annotation objects.

image\sqrblit.gif The LEADTOOLS Image List now lets you redraw individual items within the Image List.

image\sqrblit.gif LEADTOOLS provides support for determining whether a magnifying glass is attached to a window, a control or an object.

image\sqrblit.gif Support for ISIS ASCI tags is now provided.

image\sqrblit.gif LEADTOOLS now supports loading and saving layers in PSD files.

image\sqrblit.gif LEADTOOLS now lets you get or set pixel data for 48 and 64-bit bitmaps.

image\sqrblit.gif The LEADTOOLS picturize capabilities have been extended to picturize an image using a single bitmap or a list of bitmaps.

image\sqrblit.gif 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.)

image\sqrblit.gif LEADTOOLS now lets you associate metafiles with hotspot annotations and freehand hotspot annotations.

image\sqrblit.gif LEADTOOLS now provides the ability move the name of annotation objects.

image\sqrblit.gif LEADTOOLS now lets you create curved regions or add a curved region to an existing region.

image\sqrblit.gif LEADTOOLS now lets you convert standard curves to Bezier curves.

image\sqrblit.gif LEADTOOLS can now resize bitmaps during the load process.

image\sqrblit.gif LEADTOOLS now lets you save bitmaps to files in memory.

image\sqrblit.gif 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.

Changed structures

image\sqrblit.gif 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.

image\sqrblit.gif The LOADINFO structure now has 4 new members.

image\sqrblit.gif The FILEINFO structure has 1 new member.

image\sqrblit.gif The SAVEFILEOPTION structure has 1 new member.

New structures

The following are new structures:

image\sqrblit.gif ADDBORDERINFO

image\sqrblit.gif ADDFRAMEINFO

image\sqrblit.gif ANNFILEINFO

image\sqrblit.gif BALANCING

image\sqrblit.gif COMPRESSIONOPTIONS

image\sqrblit.gif CURVE

image\sqrblit.gif EXTENSION

image\sqrblit.gif EXTENSIONLIST

image\sqrblit.gif LAYERINFO

image\sqrblit.gif LILDRAWITEM

image\sqrblit.gif MINSEGMENT (MRC module)

image\sqrblit.gif SEGMENTDATA (MRC module)

The rest of this topic lists the new functions in version 13.

Bitmap Palette

LBitmapBase::DupPalette

LBitmapBase::SetPalette

Annotations (Document/Medical only)

LAnnContainer::DeletePage

LAnnContainer::DeletePageMemory

LAnnContainer::DeletePageOffset

LAnnContainer::FileInfo

LAnnContainer::FileInfoMemory

LAnnContainer::FileInfoOffset

 

LAnnFreehandHotSpot::GetMetafile

LAnnFreehandHotSpot::SetMetafile

 

LAnnHotSpot::GetMetafile

LAnnHotSpot::SetMetafile

 

LAnnotation::GetPredefinedMetafile

LAnnotation::SetPredefinedMetafile

 

LAnnStamp::GetMetafile

LAnnStamp::SetMetafile

EXIF Extensions

LFile::FreeExtensions

LFile::GetExtensionAudio

LFile::LoadExtensionStamp

LFile::ReadFileExtensions

Image List

LImageListControl::DrawItem

LImageListControl::GetFirstVisible

LImageListControl::GetViewSize

Image Processing

LBitmapBase::Add has been removed

LBitmapBase::AlphaBlend

LBitmapBase::CombineExt

LBitmapBase::ConvertSignedToUnsigned

LBitmapBase::CreateFadedMask

LBitmapBase::FeatherAlphaBlend

 

LBitmap::AddBorder

LBitmap::AddFrame

LBitmap::AntiAlias

LBitmap::BalanceColors

LBitmap::ConvertToColoredGray

LBitmap::EdgeDetector

LBitmap::GaussianFilter

LBitmap::GetFunctionalLookupTable

LBitmap::GetHistogramGray

LBitmap::GetUserLookupTable

LBitmap::GrayScaleExt

LBitmap::LineProfile

LBitmap::MotionBlur

LBitmap::PicturizeList

LBitmap::PicturizeSingle

LBitmap::RemoveRedeye

LBitmap::SwapColors

LBitmap::UnsharpMask

ISIS

LIsis::GetTagASCII

LIsis::GetTagASCIIChoice

LIsis::GetTagLongChoice

LIsis::GetTagShortChoice

LIsis::SetTagASCII

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

LFile::LoadLayer

LFile::SaveBitmapWithLayers

Saving Buffers

LMemoryFile::SaveBitmapBuffer

LMemoryFile::SaveFileBuffer

LMemoryFile::SaveFileBufferCallBack

LMemoryFile::SaveFileCallBack

LMemoryFile::SaveBitmapBufferCallBack

Super Compression

LBitmapBase::ChangeCompression

LBitmapBase::IsSuperCompressed

Transforming Files

LFile::TransformFile

LEADMARKERCALLBACK

LFile::TransformFileCallBack

Miscellaneous

LBitmapBase::GetPixelData

LBitmapBase::LoadResize

LBitmapBase::PutPixelData

 

LBitmapRgn::CurveToBezier

LBitmapRgn::GetClipSegments

LBitmapRgn::GetClipSegmentsMax

LBitmapRgn::ResizeRgn

LBitmapRgn::SetRgnCurve

 

LFile::LoadBitmapResize