Changes from Version 12.1 to Version 13

Version 13 of the LEADTOOLS API has changed from Version 12.1 as follows:

image\sqrblit.gif LEADTOOLS now supports metadata markers.

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 Please note that version 13 is the last version that will support the TWAIN functions present in this help file. For information on the new version 1.9 TWAIN support, refer to the LEADTOOLS TWAIN API Help File.

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.gif The LEADTOOLS callback functions now use PASCAL calling convention instead of C calling convention. This allows the callbacks to be used in VB6, VB7, C#, etc.

image\sqrblit.gif LEADTOOLS now provides more extensive color conversion support. For more information on this new support, refer to the LEADTOOLS Color Conversion API Help File.

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 can now both compress and decompress buffers.

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:

L_AllocateBitmap supports a new memory type flag.

L_AnnGetBoundingRect takes 1 new parameter.

L_AnnGetName takes 2 new parameters.

L_AnnGetRect takes 1 new parameter.

L_AnnSave takes 1 new parameter.

L_AnnSaveMemory takes 1 new parameter.

L_AnnSaveOffset takes 1 new parameter.

L_AnnSetName takes 2 new parameters.

L_GetBitmapHistogram takes 1 new parameter and supports 12 and 16-bit grayscale images.

L_GetDefaultLoadFileOption takes 1 new parameter.

L_GetDefaultSaveFileOption takes 1 new parameter.

L_HalftoneBitmap takes 2 new parameters and supports 12 and 16-bit grayscale images.

L_HistoEqualizeBitmap takes 1 new parameter.

L_LoadFile supports a new flag.

L_LoadFileOffset supports a new flag.

L_LoadFileTile supports a new flag.

L_MedianFilterBitmap supports 12 and 16-bit grayscale images.

L_MaxFilterBitmap supports 12 and 16-bit grayscale images.

L_MinFilterBitmap supports 12 and 16-bit grayscale images.

L_RemapBitmapIntensity takes 1 new parameter.

The following functions have been removed:

L_GetBitmapHistogramGray

To get the same functionality, use the L_GetBitmapHistogram function.

L_HalftoneBitmapExt

To get the same functionality, use the L_HalftoneBitmap function.

L_ToggleBitmapCompression

To get the same functionality, use the L_ChangeBitmapCompression function.

Changed structures

image\sqrblit.gif The BITMAPHANDLE structure has changed and new functions have been added to allow the user to limit amount of GDI resources LEAD bitmap’s 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. With these new functions/features, you can avoid this. For information on updating your source code, see the topic Updating Old Code to Use the New Palette Mechanism.

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 (MRC module)

image\sqrblit.gif CURVE

image\sqrblit.gif DECOMPRESSDATA

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)

image\sqrblit.gif STARTDECOMPRESSDATA

New control messages

The following are new control messages:

image\sqrblit.gif L_ILM_DRAWITEM

image\sqrblit.gif L_ILM_GETFIRSTVISIBLE

image\sqrblit.gif L_ILM_GETVIEWSIZE

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

Markers

ENUMMARKERSCALLBACK

L_CopyMarkers

L_CreateMarkers

L_DeleteMarker

L_EnumMarkers

L_FreeMarkers

L_GetMarker

L_GetMarkerCount

L_GetMarkers

L_InsertMarker

L_LoadMarkers

L_SetMarkers

L_WriteFileMetaData

Bitmap Palette

L_DupBitmapPalette

L_CopyBitmapPalette

L_SetBitmapPalette

Annotations (Document/Medical only)

L_AnnDeletePage

L_AnnDeletePageMemory

L_AnnDeletePageOffset

L_AnnFileInfo

L_AnnFileInfoMemory

L_AnnFileInfoOffset

Decompressing Buffers

L_DecompressBuffer

L_StartDecompressBuffer

L_StopDecompressBuffer

EXIF Extensions

L_FreeExtensions

L_GetExtensionAudio

L_LoadExtensionStamp

L_ReadFileExtensions

Image Processing

L_AddBitmaps

L_AddBorder

L_AddFrame

L_AlphaBlendBitmap

L_AntiAliasBitmap

L_BalanceColors

L_CombineBitmapExt

L_ConvertBitmapSignedToUnsigned

L_ConvertToColoredGray

L_CreateFadedMask

L_EdgeDetectorBitmap

L_FeatherAlphaBlendBitmap

L_GaussianFilterBitmap

L_GetFunctionalLookupTable

L_GetUserLookUpTable

L_GrayScaleBitmapExt

L_LineProfile

L_MotionBlurBitmap

L_PicturizeBitmapList

L_PicturizeBitmapSingle

L_RemoveRedeyeBitmap

L_SwapColors

L_UnsharpMaskBitmap

ISIS

L_ISISGetTagASCII

L_ISISGetTagASCIIChoice

L_ISISGetTagLongChoice

L_ISISGetTagShortChoice

L_ISISSetTagASCII

Magnifying Glass

L_WindowHasMagGlass

L_SetMagGlassPaintOptions

L_SetMagGlassPos

L_ShowMagGlass

L_UpdateMagGlassBitmap

Mixed Raster Content Module

L_MrcDeleteSegment

L_MrcEndBitmapSegmentation

L_MrcEnumSegments

L_MrcGetPagesCount

L_MrcLoadBitmap

L_MrcSaveBitmap

L_MrcSaveBitmapT44

L_MrcSegmentBitmap

L_MrcSetNewStripe

L_MrcSetStripeMaxHeight

L_MrcSetStripeSegment

L_MrcStartBitmapSegmentation

L_MrcUpdateSegmentData

MRCENUMSEGMENTSPROC

SEGMENTATIONCALLBACK

PSD Layers

L_LoadLayer

L_SaveBitmapWithLayers

Saving Buffers

L_SaveBitmapBuffer

L_SaveFileBuffer

SAVEBUFFERCALLBACK

Super Compression

L_ChangeBitmapCompression

Transforming Files

L_TransformFile

LEADMARKERCALLBACK

TRANSFORMFILECALLBACK

Miscellaneous

L_CurveToBezier

L_GetBitmapClipSegments

L_GetBitmapClipSegmentsMax

L_GetPixelData

L_LoadBitmapResize

L_PutPixelData

L_ResizeBitmapRgn

L_SetBitmapRgnCurve