Changes from Version 7.0 to Version 8.0

Version 8.0 of the LEADTOOLS API has changed from version 7.0 as follows:

image\sqrblit.gif The paint effects capabilities have been enhanced, with control over the speed and granularity of each effect, and with hundreds of new variations, including overlays of text and graphic shapes.

image\sqrblit.gif Region processing is now available in the LEADTOOLS Pro toolkits. New functions to get and set regions also make it easier to save a region as a mask in the alpha channel.

image\sqrblit.gif [Express editions only] You can now achieve faster rotation in 90-degree increments by applying a rotated view perspective to the bitmap.

image\sqrblit.gif You can now control the brightness and contrast of displayed images, without modifying the bitmap data.

image\sqrblit.gif New image processing functions give you more control over erosion or dilation of dark objects.

image\sqrblit.gif Other new image processing functions let you apply artistic effects to give an image the appearance of an oil painting or to simulate the accidental exposure of photographic film to light.

image\sqrblit.gif LEADTOOLS functions now preserve alpha-channel information. You can also get and set the alpha channel in 16- and 32-bit bitmaps.

image\sqrblit.gif TIFF file support now includes reading and writing of 32-bit images, images with PackBit compression, and images with CMYK or YCbCr color space.

image\sqrblit.gif BMP file support now includes reading and writing of RLE-compressed images.

image\sqrblit.gif You can now read and write Windows Icon (ICO) and Cursor (CUR) files.

image\sqrblit.gif You can now read and write Exif files.

image\sqrblit.gif [Express editions only] You can now read and write DICOM files.

image\sqrblit.gif You can now read and write Microsoft FAX (AWD) files.

image\sqrblit.gif You can now read and write comments in all of the file formats that support comments, including TIFF, GIF, DICOM, and Exif files.

image\sqrblit.gif Extended support for FlashPix files is available in the LEADTOOLS FlashPix Module.

Changed functions

The following functions have changed from the previous version of LEADTOOLS:

L_GetBitmapRowColCompressed

L_PutBitmapRowColCompressed

L_SizeBitmap

L_TwainSetProps

L_PaintDCBuffer (changed usage with 1-bit compressed data)

L_CombineBitmap (now uses Windows-style coordinates, with a top-left origin)

L_PaintDCEffect (moved from the kernel to the effects library)

L_PaintRgnDCEffect (moved from the kernel to the effects library)

Changed structures

The following structures have been changed to support new features:

image\sqrblit.gif EXTFILEOPTION has new fields for loading and saving stamp (thumbnail) images.

image\sqrblit.gif TWAINPROPERTIES has new fields for brightness, contrast, and autofeed capabilities.

image\sqrblit.gif FILEINFO has new constants for the Format field. The new constants are the same as you specify when saving an image.

image\sqrblit.gif EXTFILEOPTION has new constants for the Flags field. The new constants are used for loading FlashPix files with or without utilizing transforms stored with the image.

Changed error messages

The following constants for error messages have been changed to avoid conflicts with other Microsoft constants:

Old constant

New constant

ERROR_NOT_SUPPORTED

ERROR_FEATURE_NOT_SUPPORTED.

ERROR_FILE_NOT_FOUND

ERROR_FILENOTFOUND

ERROR_INVALID_DATA

ERROR_INVALIDDATA

Other changes to upgrade your application code

The LEADTOOLS Express editions toolkit now supports rotated view perspectives, which let you achieve faster rotation in 90-degree increments. If you implement the new view perspectives, you should make the following changes in your code. (You can follow the examples in the LEADTOOLS sample code.)

image\sqrblit.gif If a bitmap has a view perspective that is rotated 90 or 270 degrees, the Width and Height fields in the BITMAPHANDLE and the FILEINFO structures do not match the displayed width and height. Therefore, you should reverse the values in places where you use these fields to determine an image's aspect ratio (for example, when you size a window). LEADTOOLS provides macros for this, which are described in Accounting for View Perspective.

image\sqrblit.gif Some function, such as L_GetPixelColor, reference bitmap coordinates. The previous code for translating to and from bitmap coordinates is inadequate. Instead, you should use the support functions, which are described in Accounting for View Perspective. You can find places in your code that need attention by searching for any reference to the ViewPerspective field in the BITMAPHANDLE or FILEINFO structure.

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

 

Fast rotation by changing the view perspective (Express editions only):

L_RotateBitmapViewPerspective

View perspective support functions:

L_PointFromBitmap

L_PointToBitmap

L_RectFromBitmap

L_RectToBitmap

L_ChangeBitmapViewPerspective

Special paint effects:

L_EfxDraw3dShape

L_EfxDraw3dText

L_EfxDrawFrame

L_EfxDrawRotated3dText

L_EfxEffectBlt

L_EfxGradientFillRect

L_EfxPaintBitmap

L_EfxPaintTransition

L_EfxPatternFillRect

Setting contrast and brightness of all displayed images:

L_GetPaintContrast

L_SetPaintContrast

L_GetPaintGamma

L_SetPaintGamma

L_GetPaintIntensity

L_SetPaintIntensity

Enhanced polygon support for annotations (Express editions only):

L_AnnGetPointCount

L_AnnGetPoints

Automatic trimming of margins:

L_AutoTrimBitmap

L_GetAutoTrimRect

L_TrimBitmap

New filters for dilation and erosion (Express editions only):

L_MaxFilterBitmap

L_MinFilterBitmap

New filters for artistic effects:

L_OilifyBitmap

L_SolarizeBitmap

Region processing, transparency, and alpha channel support:

L_CreateMaskFromBitmapRgn

L_SetBitmapRgnFromMask

TIFF tag support:

L_SetTag

L_GetTag

L_ReadFileTag

L_ReadFileTagMemory

New functions for 1-bit compressed data (Express editions only):

L_GetBitmapRowCompressed

L_PutBitmapRowCompressed

L_CompressRows

L_ExpandRows

FlashPix Extended support (FlashPix Module only):

L_GetFileCommentSize

L_ReadFileCommentExt

L_WriteFileCommentExt

L_ReadFileStamp

L_WriteFileStamp

L_LoadFileTile

L_SaveFileTile

L_ReadFileTransforms

L_WriteFileTransforms