Changes from Version 12.1 to Version 13

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

LEADTOOLS now supports metadata markers.

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.

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.

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 C DLL Help File.

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:

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

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.

LEADTOOLS now provides more extensive color conversion support. For more information on this new support, refer to the LEADTOOLS Color Conversion C DLL Help File.

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 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 supports an anti-aliasing filter.

LEADTOOLS can perform Gaussian blurring.

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".

LEADTOOLS can add or average bitmaps within a list.

LEADTOOLS lets you resize individual regions within a bitmap.

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.

LEADTOOLS lets you add borders and frames to bitmaps.

LEADTOOLS provides more support for grouping and ungrouping annotation objects.

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.

Support for ISIS ASCI tags is now provided.

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.

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 associate metafiles with hotspot annotations and freehand hotspot annotations.

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 convert standard curves to Bezier curves.

LEADTOOLS can now resize bitmaps during the load process.

LEADTOOLS can now both compress and decompress buffers.

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.

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

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.

The LOADINFO structure now has 4 new members.

The FILEINFO structure has 1 new member.

The SAVEFILEOPTION structure has 1 new member.

New structures

The following are new structures:

ADDBORDERINFO

ADDFRAMEINFO

ANNFILEINFO

BALANCING

COMPRESSIONOPTIONS (MRC module)

CURVE

DECOMPRESSDATA

EXTENSION

EXTENSIONLIST

LAYERINFO

LILDRAWITEM

MINSEGMENT (MRC module)

SEGMENTDATA (MRC module)

STARTDECOMPRESSDATA

New control messages

The following are new control messages:

L_ILM_DRAWITEM

L_ILM_GETFIRSTVISIBLE

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 and Medical toolkits)

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