ImageEn

What's new

What's new



VERSION 4.1.0



New features



- Generic interface to Twain, WIA and other acquisition methods
- Twain: now it is possible to limit number of acquired images or automatically acquired
- Dicom: supported YBR_FULL pixel format
- now it is possible to create AVI files with floating point rate values
- now TImageEnVect.CopyObjectToBack and CopyObjectsToBack support multiple layers
- TImageEnProc.RadialStretch: now supports alpha channel
- PDF: now each PDF page is cached to disk instead of memory to allow bigger PDFs
- now TImageEnVect.ObjTextAutoSize works also on displaying (only for iekTEXT objects) instead of only on editing
- now it is possible to merge objects (CopyObjectsToBack) over transparent images
- Added: When setting a device directly using TwainParams or WIA params then it becomes the selected acquisition type for subsequent calls to Acquire
- Added: TImageEnMView automatically scrolls when dragging items within it
- Changed: TSaveImageEnDialog can now be used without attaching it to a TImageEnIO (though this is not recommended usage as it does not provide user access to parameters)
- optimized loading of jpeg-CMYK, without ICC profile
- now it is possible to create virtual without-memory allocation TIEBitmaps
- TImageEnView: now selection mask buffer is allocated only when actually necessary
- PNG: now alpha channel is read also when NativePixelFormat is true


Fixed bugs



- BUGFIX: May get Div by Zero error with TImageEnMView if GridWidth = -1 and the component is narrower than one thumbnail.
- BUGFIX: in TImageEnProc.AddInnerShadow when OffsetX and OffsetY are != 0
- BUGFIX: reading mpeg on Vista
- BUGFIX: fixed TImageEnVect.CopyObjectToBack
- BUGFIX: random exceptions on-exit after Twain usage
- BUGFIX: fixed minor bugs on TIFF saving (with empty UserComment tag)
- BUGFIX: sometimes alpha channel is not processed correctly when Layers[].Rotate is 90, 180, etc..
- BUGFIX: now TImageEnProc.Crop and TImageEnView.LayersFixBorders work with ie8p pixel format


New units, classes, methods, properties and events



- TIETwainParams: added AcceptedImages property
- TIETwainParams: added AutoScan property
- TIETwainParams: added DeviceOnline property
- now TImageEnView and TImageEnMView exposes Touch property
- Added: New TIEAcquireApi which provides a generic interface to Twain, WIA and other acquisition methods
- Added: Acquisition from camera cards and cameras that appear as USB drives when connected
- Added: New selection option, iesoDisableOneClickDeselect, which prevents clearning of the selection when clicking the TImageEnView
- Added: TImageEnMView.SelectedImageAlwaysVisible to force the selected image to remain visible
- Added: TImageEnMView.FillFromDirectory can now include supported video formats
- Added: TImageEnMView.Seek method to quickly navigate loaded images
- Added: Replaced all magic numbers in ieTwain.pas with constants
- TImageEnMView, TImageEnView: exposes OnResize event
- TIEBitmap: added GetIEVisionImage method
- TImageEnView: added SelectionGridWidth property
- TImageEnView: added SelectionGridHeight property
- TImageEnVect: added StretchTextRect method
- TIEBitmap: added AlphaChannelOpt property
- TImageEnVect: added OnTextEdit event
- TImageEnView: added DisplayGridLyr property
- TIEBitmap: added OnRenderVirtualPixel event
- TImageEnView: now SetInteractionHint is public


New/Changed/Deleted parameters



- CreateAVIFile: now "rate" is double
- AVI_FrameDelayTime: now is double
- MEDIAFILE_FrameDelayTime: now is double
- ImageDelayTime: now is double
- added units: iexAcquire.pas, iexacquireform.dfm, iexacquireform.pas, iexdcim.pas
- Removed: TImageEnView.TransitionStartRect, TImageEnView.TransitionEndRect, TImageEnView.TransitionRectMaintainAspectRatio
- Changed parameters for TImageEnIO.Acquire, ImageEnMIO.Acquire
- Changed parameters for TImageEnIO.SelectAcquireSource and TImageEnMIO.SelectAcquireSource
- TImageEnVect: added optional hobj parameter to SaveToFileIEV and SaveToStreamIEV (to save a single object only)
- TImageEnVect: added AppendObjects optional parameter (avoids to remove existing objects) to LoadFromFileIEV and LoadFromStreamIEV
- TImageEnVect.TIEVStyle: added ievsHideGrips value
- TImageEnProc.SelPasteFromClip: added MaintainAspectRatio optional parameter
- TIEBitmap.MergeWidthAlpha: added optional Resample parameter
- TImageEnVect.CopyObjectToBack, CopyObjectsToBack, DrawOneObjectToBitmap, DrawObjectsToBitmap: added optional MergeAlpha parameter
- TIEPixelFormat: added ieVirtual value


Compatibility issues



- Removed TImageEnView.TransitionStartRect, TImageEnView.TransitionEndRect, TImageEnView.TransitionRectMaintainAspectRatio.
- See new parameters for TImageEnView.RunTransition
- Changed parameters for TImageEnIO.SelectAcquireSource and TImageEnMIO.SelectAcquireSource
- Changed parameters for TImageEnIO.Acquire and TImageEnMIO.Acquire
- Removed: TImageEnView.TransitionStartRect, TImageEnView.TransitionEndRect, TImageEnView.TransitionRectMaintainAspectRatio












VERSION 4.0.2



New features



- Delphi XE2 (32 bit) compatibility
- now vectorial objects are anchored to a specific layer
- TImageEnMView: now it is possible to create transitions between frames
- TIFF: supported 12 bit gray scale, uncompressed
- Added: Cube Rotate, Soft Wipe and Twist transitions
- Added: Enhanced book flip transition
- Added: Some extra helper functions
- Added: Helper functions units for EXIF and IPTC handling, iexEXIFRoutines.pas and iexIPTCRoutines.pas, providing such functions as input/output of fields to string grids
- Default type in save dialogs is JPEG
- Save dialog defaults to file type of specified filename first
- Some additions to documentation
- Compatibility with IEVision 1.0


Fixed bugs



- BUGFIX: now iegUseGDIPlus works again
- BUGFIX: reading mpeg with Windows 7 (and maybe other versions)
- BUGFIX: writing EXIF-makernote of FUJIFILM cameras


New units, classes, methods, properties and events



- TImageEnIO: added OnAcquireClose event
- TImageEnMIO: added OnAcquireClose event
- TImageEnVect: added <TImageEnVect.ObjLayer> property
- TImageEnVect: added <TImageEnVect.ObjAnchorToLayers> property
- Added: ZoomIn and ZoomOut methods
- Added: Overloaded versions of InsertImage for quicker insertion of images by bitmap or path
- Added: CreateTransitionBitmap to return a set of transition frame images
- Added: InsertTransitionFrames to insert a set of transition frame images
- Added: FilterDefault property for TOpenImageEnDialog and TSaveImageEnDialog


New/Changed/Deleted parameters



- UnsharpMask: changed radius parameter to double
- Added: "Maintain Aspect Ratio" parameter for TImageEnProc.Resample and ResampleTo


Compatibility issues



- no known







VERSION 4.0.1



New features



- TImageEnMView: now scrolls when selecting with mouse and TrackMouseSelection is True
- localization: moved english words into resourcestrings
- TImageEnView, TImageEnMView and TImageEnVect: Draws themed borders if THEMED_BORDERS is defined in ie.inc
- TImageEnIO, TImageEnMIO and TImageEnProc: Added PreviewFontEnabled property. When disabled (default) a Windows standard GUI font is used for preview dialogs
- now 8 bit gray scale -> 24 bit RGB uses BlackValue and WhiteValue parameters
- TImageEnMView: deprecated AppendImage2 (use an overload of AppendImage instead)
- TImageEnMView: added overload of AppendImage (replacing AppendImage2)
- Enhanced support for reading of EXIF info from RAW camera formats
- DCX, ICO, CUR: now TIOParamsVals.ImageCount is valued
- now TImageEnIO.LoadFromFile can load frames from WMV and MPEG formats
- now it is possible to override the default file view for the open and save dialogs
- Open/Save dialogs: now preview button (or double click on image thumbnail) will show the full image
- Other\RulerBox example: now it is possible to center the image
- WIA: fixed compatibility problems with some devices


Fixed bugs



- BUGFIX: TImageEnMView and GridWidth=0, selection doesn't work
- BUGFIX: displaying memo objects and setting margins
- BugFix: Some issues with Pan Zoom movement
- BugFix: Dialogs may display oddly with use of some fonts
- BugFix: Destination Preview in ImageEnProc.Preview dialog did not use iegDefaultPreviewsZoomFilter
- fixed bug inserting/deleting images in TImageEnMView when an animation is active
- BUGFIX: RGB->CieLab conversion
- BUGFIX: DoPreviews of TImageEnProc, User Filter on Delphi 2007 doesn't work
- BUGFIX: OnFinishWork not called in TImageEnMIO.LoadFromURL
- BUGFIX: fixed memory leak drawing selection rectangle
- BUGFIX: TImageEnProc.CastAlpha raises exception with one pixel selections


New units, classes, methods, properties and events



- TImageEnView: added OnDrawLayer event
- TImageEnProc, TImageEnIO and TImageEnMIO: Added ImageEnVersion property
- TImageEnView, TImageEnMView and TImageEnVect: Exposed OnContextPopup event
- TIEBitmap: added StretchValues method
- TIEAnimation: added DeleteImage method
- TIEAnimation: added InsertImage method
- TImageEnMView: added SetImage overload
- TImageEnMView: added CalcGridHeight method
- TImageEnDBView: added UseMemoryStream property
- TImageEnDBView: added OnBeforeLoadImage event
- TImageEnIO: added Seek method
- added FileView property
- TRulerBox: added OffsetX property
- TRulerBox: added OffsetY property


New/Changed/Deleted parameters



- TImageEnView.LayersAdd: added PosX and PosY optional parameters
- Changed: Default Background style changed to iebsSolid
- Changed: Preview dialogs use iegPreviewImageBackgroundStyle and iegPreviewImageBackgroundColor for previews
- TImageEnIO.SaveToFile: added optional parameter ImageFormat
- TImageEnIO.LoadFromFile: added optional parameter ImageFormat


Compatibility issues



- no known









VERSION 4.0.0



New features



- now it is possible to present images in TImageEnMView using animations (ie coverflow-like effect)
- TImageEnMView: now it is possible to show mouse selection as semi-transparent rectangle
- Now shows preview of thumbnail printing in TImageEnMView.PrintPreview
- TIEDirectShow: now it is possible to change camera input frame size in TIEDirectShow.Connect
- better alpha channel support in Bilinear filter
- added example multipage\customthumbs2 which shows how add checkboxes to thumbnails
- Changed: Various improvements to layout of TImageEnProc Preview dialog
- Changed: Various improvements to layout of TImageEnIO Preview dialog
- Added: All file sizes in TImageEnIO Preview dialog are regionally formatted and simplified where necessary
- Added: Delayed enactment of preview in TImageEnIO while changing values
- Changed: Various improvements to layout of Print Preview dialogs
- jpeg loading: now jpeg header DPI info have priority over EXIF dpi
- When displaying TImageEnMView.PrintPreview it defaults to the selection of the source
- Can specify the box color when printing thumbnails
- Delayed update of preview in TImageEnMView.PrintPreview
- TImageEnMView.PrintPreview now displays the number of pages to be printed


Fixed bugs



- BUGFIX: fixed bug in TImageEnMIO.PrintImage
- BUGFIX: fixed bug in TImageEnMIO.PrintImagePos
- BUGFIX: fixed bug playing video (AV on closing application)
- BUGFIX: fixed bug reading some corrupted TIFF-maker notes
- BUGFIX: fixed bug writing CCITT files (compatibility with some FAX devices)
- BUGFIX: fixed minor bugs
- BUGFIX: fixed bug in TImageEnIO.SaveToText method
- BUGFIX: fixed bug reading some jpegs
- Fixed: Tab order in TImageEnProc Preview dialog
- Fixed: Tab order in TImageEnIO Preview dialog
- Fixed: Preview for TImageEnMIO may not show Lock Preview checkbox
- Fixed: Print preview dialogs do now have a default caption
- Fixed: Tab orders in Print Preview dialogs


New units, classes, methods, properties and events



- TIOPNGFilter: added ioPNG_FILTER_UP value
- TIOPNGFilter: added ioPNG_FILTER_AVG value
- TIOPNGFilter: added ioPNG_FILTER_ALL value
- TImageEnView: added SelectedRect property
- TImageEnMView: added OnImageAtPos event
- TImageEnMView: added OnCreateImage event
- TImageEnMView: added OnDestroyImage event
- added iegDefaultPreviewsZoomFilter global property
- added unit ieanimation
- TImageEnMView: added Animation property
- added TIEAnimation class
- added TIEHorizontalFlow class
- added TIECircularFlow class
- added TIEImageList class
- TImageEnMView: added TrackMouseSelection property
- TImageEnView: added HighlightedPixelColor property
- TImageEnMView: added CalcGridWidth property
- TImageEnMView.ImageAtPos: added optional parameter checkBounds
- TImageEnMView: added CheckThumbBoundsOnSelect property
- TImageEnProc.ProjectDraw: added mergeAlpha parameter
- TImageEnProc.PerspectiveDraw: added mergeAlpha parameter


New/Changed/Deleted parameters



- TImageEnMView.ReleaseBitmap: added parameter saveChanges
- Now TruncSide default is iemtsLeft


Compatibility issues



- Now TruncSide default is iemtsLeft









VERSION 3.1.2



New features



- added Delphi/C++Builder XE compatibility
- Dicom: supported new compression types
- TIFF: reading TIFF with bogus StripByteCount tag
- TImageEnProc: now motion blur applies also to alpha channel, if present
- improved RGB to CIELab conversion
- added new 25 transitions
- DICOM: added ".v2" extension
- optimized layers rotation
- optimized TImageEnView.LayersMerge and TImageEnView.LayersMergeTo methods
- TIETIFFHandler: enhanced stability on corrupted tags


Fixed bugs



- BUGFIX: bug creating a polyline with MouseInteract and after a previous SetObjPolylinePoints
- BUGFIX: fixed some Floating point exceptions using TImageEnVect
- BUGFIX: TImageEnMView.Proc doesn't work after Deselect calls
- BUGFIX: fixed bug mixing multiselections with keyboard and mouse


New units, classes, methods, properties and events



- TImageEnView: added OnSetCursor event
- added iegPanZoomQualityFilter public field
- added unit ieXCanvasUtils.pas
- TIEBitmap: added CopyFromMemory method
- TIECanvas: added Rotate method
- TIECanvas: added Translate method
- TIECanvas: added ResetTransform method


New/Changed/Deleted parameters



- none


Compatibility issues



- unknown








VERSION 3.1.1


New features



- now it is possible to abort dcraw loading (using future dcraw versions)


Fixed bugs



- BUGFIX: now TIEDirectShow.SetCurrentVideoFormat works (it is possible to change DirectShow video capture resolution in code)
- BUGFIX: now asynchronous loading works (break in 3.1.0)
- BUGFIX: fixed bug saving GIF (break in 3.1.0)
- BUGFIX: wrong TIOParamsVals.ImageCount for multipage TIFF with jpeg compression
- BUGFIX: fixed bug in TImageEnMView.LoadSnapshot and SaveSnapshot (break in 3.1.0)
- BUGFIX: fixed bug in GetPolylineArea


New classes, methods, properties and events



- TImageEnVect: added ObjBlendOperation property
- TImageEnIO: added LoadFromResource method
- TImageEnView: added ResetState method
- TImageEnVect: added MaxMovingDistance property
- TImageEnMView: added LockUpdateCount property
- TImageEnMView: added LockUpdate method
- TImageEnMView: added UnLockUpdate method
- TIEIPTCInfoList: added GetItemData method
- TIEIPTCInfoList: added GetItemLength method


New/Changed/Deleted parameters



- none


Compatibility issues



- unknown












VERSION 3.1.0


New features



- now it is possible to create a RFB (VNC) client using TIERFBClient objects
- now it is possible to load images from resources in PE files (EXE, DLL, OCX, ICL, etc...)
- optimized rfTriangle, rfHermite, rfBell, rfBSpline, rfLanczos3, rfMitchell, rfNearest, rfLinear filters for multicore processing
- supported MD2, MD4, MD5 and SHA hashing algorithms (to create hash of a image file or of a bitmap)
- now it is possible to remove EXIF tags setting their defaults
- optimized Reflection method
- Preview dialog: now "Reset" button can reset only visible tag (optional behavior)
- EXIF Make note: supported FUJIFILM tags
- TImageEnMView: now it is possible to save only selected images using SaveToStreamTIFF and SaveToFileTIFF methods
- added NxN convolution
- TImageEnVect: optimized polyline drawings
- EMF/WMF: now metafiles are loadable from streams
- TIFF: optimized TIFF-CCITT G4 writing
- now TIEBitmap.BlackValue and WhiteValue are applicable also to ie24RGB pixel format
- TImageEnMView.FillFromDirectory: supported Unicode file names for non-Unicode Delphi versions
- open/save dialog: support for non-Unicode OS (Win98/WinME)
- supported Unicode characters on preview, opensave and printing dialogs, for Delphi 2009 and Delphi 2010
- now it is possible to change TImageEnVect measure unit strings
- now TImageEnProc.Fill works with all pixel formats
- added Hungarian translation


Fixed bugs



- BUGFIX: now TImageEnMView.OnViewChange works when moving scrollbars
- BUGFIX: in ExtractTIFFImageFile procedure
- BUGFIX: fixed rounding math problem with ielScreen layer blend operation
- BUGFIX: bug making undo of angle and polyline objects
- BUGFIX: fixed bug in TIEBitmap.LoadRAWFromBufferOrStream related to alpha channel
- BUGFIX: dialogs now are center on the same desktop of the parent window
- BUGFIX: now TImageEnMIO.LoadFromFiles calls OnProgress events
- BUGFIX: image processing preview, FFT area is not restored correctly
- BUGFIX: layers cannot be moved dragging the center
- BUGFIX: fixed some minor bugs
- BUGFIX: fixed bug reading/processing jpeg tags with zero length
- BUGFIX: fixed bug reading planar-CMYK with predictor, ZIP compressed
- BUGFIX: TImageEnVect, memo texts now are correctly displayed with vertical bounding box size is not enough
- BUGFIX: better font size handling for Wang Imaging annotations


New classes, methods, properties and events



- added TIERFBClient class
- added TIEResourceExtractor class
- added TIEHashStream class
- TImageEnProc: added Convolve method
- TImageEnProc: added UnsharpMask method
- TPRPreviewsParamsItems: added prppResetSelectedTab value
- TIEBitmap: added GetHash method
- TIERenderOperation: added ielStereoEven and ielStereoOdd values
- added IEGetCoresCount public function
- added iegDefaultCoresCount public field
- TImageEnProc: added CalcAverageRGB method
- ievect unit: added ieMeasureUnits public field
- TImageEnView: added LayersResizeAspectRatio property
- TImageEnProc: added FTClearZone method
- TImageEnMIO: added LoadFromBuffer method
- TIOParamsVals: added IsResource property
- TImageEnIO: added ParamsFromBuffer method
- TImageEnView: added OnVirtualKey event
- TImageEnProc: added MatchHSVRange method
- TImageEnView: added SetLayersBoxStyle method
- TImageEnMView: added ImageUserPointer property
- TImageEnMView: added DefaultBottomTextFont property
- TImageEnMView: added DefaultTopTextFont property
- TImageEnMView: added DefaultInfoTextFont property
- TIEUnits: added ieuFEET, ieuYARDS, ieuMILES values
- TImageEnVect: added OnPresentMeasure event
- TIEMultiSelectionOptions: added iemoLeaveOneSelected value (MultiSelectionOptions property)
- TIELayerEvent: added ielBeginResizing and ielBeginMoving values (and related events)


New/Changed/Deleted parameters



- Reflection: added "percentage" parameter
- SaveToStreamTIFF: added optional SaveSelected parameter
- SaveToFileTIFF: added optional SaveSelected parameter
- TImageEnMView.FillFromDirectory: added FilterMask optional parameter
- now TImageEnIO.CreateAVIFile returns an error value


Compatibility issues



- unknown











VERSION 3.0.5


New features



- EXIF: set several tags defaults to -1 instead of 0
- TImageEnMView: now SaveSnapshot saves also StoreType property
- TImageEnMView.SaveSnapshot: now can save input/output parameters and tags
- TIOParamsVals.SaveToStream/SaveToFile now saves EXIF tags
- TImageEnMView.SaveSnapshot: now can save EXIF tags


Fixed bugs



- BUGFIX: fixed problem reading some unicode EXIF_UserComment tags
- BUGFIX: fixed problems reading RLE encoded images
- BUGFIX: fixed some minor bugs reading DICOM files
- BUGFIX: TaskName parameter of printing preview dialogs now works
- fixed minor bugs


New classes, methods, properties and events



- TIERenderOperation: added ielStereoBW, ielStereoColor, ielStereoColorDubois values


New/Changed/Deleted parameters



- TImageEnIO.ExecuteOpenDialog: added Filter optional parameter
- TImageEnIO.ExecuteSaveDialog: added Filter optional parameter
- TImageEnMIO.ExecuteOpenDialog: added Filter optional parameter
- TImageEnMIO.ExecuteSaveDialog: added Filter optional parameter
- TImageEnMView.FillFromDirectory: added DetectFileFormat optional parameter
- TIETIFTagsReader.GetRational: added defaultValue optional parameter
- TIETagsHandler.GetRational: added defaultValue optional parameter
- TImageEnMView.SaveSnapshot: added optional parameter SaveParams, to save input/output parameters and tags


Compatibility issues



- EXIF: set several tags defaults to <0 instead of 0












VERSION 3.0.4


New features



- added Delphi 2010 compatibility
- TIFF: added support for reading >2GB TIFF files (max 4GB)
- added 22 extra transitions
- open/save dialogs now support Unicode file names (for Delphi non Unicode versions)
- TImageEnMView: better disk cache handling
- DICOM: added jpeg2000 (lossy) decompression
- Optimized MagicWand performance
- now supported reading of 16 bit gray scale PGM
- TImageEnVect: now bitmaps transparent areas aren't selectable
- TIEBitmap: added Origin property (improved compatibility with OpenCV)
- now SaveToFileBMPRAW/SaveToStreamBMPRAW/LoadFromFileBMPRAW/LoadFromStreamBMPRAW supports text data
- TImageEnProc: now DisposeChannels accepts "0" value
- now DisposeChannels works also with ie48RGB pixel format
- now object aspect ratio works on all grips
- TImageEnMView: now SetImageRect copies also transparency
- better Unicode support for EXIF user comment tag
- TImageEnProc.AdjustTemperature: now works on current selection
- enhanced support for EXIF_UserComment tag
- DICOM: now OnProgress works
- now ImageEn writes only changed or new EXIF tags
- now TImageEnMView supports native pixel formats
- ICO: enhanced compatibility
- TImageEnProc: now ieuObjectsAndLayers applied to TImageEnView saves all layers to undo/redo stack
- now it is possible to create a layer from alpha channel
- now it is possible to copy a layer in image alpha channel
- now when TIFF_EnableAdjustOrientation/EnableAdjustOrientation is true, then EXIF orientation becomes 1
- TImageEnSaveDialog: when AttachedImageEnIO is empty now raises an exception instead of silently exit
- now TImageEnIO.ParamsFromFile and ParamsFromFileFormat read parameters from WMF/EMF
- now setting XMP_Info='' removes XMP info from jpegs
- added motion blur, random and map gray color image processing tools

Fixed bugs



- FIXED BUG: THistogramBox cannot be placed on forms using Delphi 2009
- FIXED BUG: reading big-endian 16 bit CMYK-TIFF
- FIXED BUG: wrong width/height reading some HDP
- FIXED BUG: memory leak in TIEMediaReader
- FIXED BUG: ondisk cached images cannot exceed 2GB
- FIXED BUG: reading some TIFF files
- FIXED BUG: bad selection precision
- FIXED BUG: reading Unicode file names with ParamsFromFile
- FIXED BUG: now Deinterlace, EdgeDetect_Sobel, ApplyFilter
- FIXED BUG: TIEIPTCInfoList.InsertStringItem now works

New classes, methods, properties and events



- TImageEnProc: added MotionBlur method
- TImageEnProc: added Random method
- TImageEnProc: added MapGrayToColor method
- TImageEnView: added SaveState method
- TImageEnview: added LoadState method
- TIOParamsVals: added BMPRAW_DataFormat property
- TImageEnView: added OnTransitionPaint event
- TImageEnView: added SetSelectionMarkOuterStyle method
- TIPDialogParams: added EQUALIZATION_EqualizeButton field
- TImageEnMView: added DisplayImageAt method
- TImageEnVect: added InsertingPen property
- TImageEnMView: added AppendSplit method
- TImageEnProc: added CreateFromBitmap method
- TImageEnIO: added CreateFromBitmap method
- TOpenImageEnDialog: added FileNameW property
- TSaveImageEnDialog: added FileNameW property
- TIEBitmap: added UpdateFromTBitmap method
- TImageEnVect: added GetIndexFromObj method
- TImageEnMView: added ImageTag property
- TImageEnVect: added ObjBitmapHandleTransparencyOnSel property

New/Changed/Deleted parameters



- TImageEnView, LayersAdd: added two optional parameters, PosX and PosY
- TIEDirectShow.GetSample: added "resample" parameter
- TIOParamsVals.EXIF_UserComment: changed type from AnsiString to WideString
- TIEBitmap.EncapsulateMemory: added Origin optional parameter
- TIETransitionType: added iettPageFlipEffect and iettPageFlipEffect2 effects

Compatibility issues



- TImageEnSaveDialog: when AttachedImageEnIO is empty now raises an exception instead of silently exit
- now setting XMP_Info='' removes XMP info from jpegs
- TImageEnVect: now bitmaps transparent areas aren't selectable (previous behavior was ObjBitmapHandleTransparencyOnSel=false)
- TIOParamsVals.EXIF_UserComment: changed type from AnsiString to WideString







VERSION 3.0.3


New features



- Twain: now it is possible to set language and country of dialog (when available)
- TImageEnMView: now clicking on current visible image (when DisplayMode=grid) selects it
- now it is possible to draw rectangular selection grid guides
- added cover-flow style reflection and perspecive effect (this is not fully cover-flow effect, just support routines)
- optimized TIFF-LZW loading
- TImageEnView: now it is possible to save layers with non-compressed native format (-2 option instead of -1)
- now it is possible to terminate a polyline selection using right mouse button (optional)
- Twain: now it is possible to open scanner dialog only to specify settings (without acquire images)
- Twain: now it is possible to save/load all (supported and unsupported) scanner settings to file or stream
- TIETIFFHandler: now is able to handle HDPhoto files
- now FindFileFormat/FindStreamFormat detects Microsoft HDPhoto image format
- TIETIFFHandler: now handles correctly EXIF and EXIF/GPS tags
- now it is possible to zoom navigator rect using mouse wheel
- now it is possible to create TIFF from scratch using TIETIFFHandler
- now it is possible to copy pages among TIETIFFHandler objects
- now it is possible to extract (or write) a single page from TIFF using TIETIFFHandler
- improved TImageEnView navigator performance
- now it is possible to inject EXIF in a TIFF file or stream
- supported loading/saving of Microsoft HD Photo (WMPhoto) file format (requires Windows XP (SP2) with .Net 3.0, Windows Vista)
- TImageEnVect: now antialiasing is active also with softshadow

Fixed bugs



- FIXED BUG: now selection grip shape can be iegsBox
- FIXED BUG: fixed bug using LoadFromBuffer with ioBMPRAW format
- FIXED BUG: TImageEnVect, memo with high font size is displayed incorrectly
- FIXED BUG: fixed memory leak saving ICO
- FIXED BUG: fixed bug in TImageEnMView.RemoveBlankPages
- FIXED BUG: fixed minor bugs reading/writing XP Exif tags
- FIXED BUG: RotateAndCrop ignores "antialias" and "antialiasMode" parameters
- FIXED BUG: wrong image reading color TIFF with inverted fill order
- FIXED BUG: EXIF, ISO Speed Ratings is written when unset or written twice
- FIXED BUG: TImageEnProc.MakeTile doesn't save image in Undo stack
- FIXED BUG: calling TImageEnView.LayersClear or TImageEnView.LayersMergeAll the background layer become unlocked
- FIXED BUG: zooming with mouse wheel on negative placed screens produces wrong results
- FIXED BUG: TImageEnProc.RadialStretch, OnProgress percentage is wrong
- FIXED BUG: memory leak in TImageEnProc.Wave when amplitude=0 and wavelength=0 (the default in image processing dialog)

New classes, methods and properties



- TIEBitmap: added <TIEBitmap.PPixels_ie32RGB> property
- TIEBitmap: added <TIEBitmap.Pixels_ie32RGB> property
- TImageEnView: added GetSelectionGripStyle method
- TImageEnMView: added ImageCacheUseDisk property
- TImageEnView: added new overloads of LayersAdd method
- TImageEnView: added LayersCopyToAlpha method
- TImageEnView: added LayersCreateFromAlpha method
- imageenio: added iegUseDefaultFileExists public variable
- hyieutils: added iegAutoLocateOnDisk public field
- TIETwainParams: added Language property
- TIETwainParams: added Country property
- hyieutils: added iegAutoFragmentBitmap public field
- TImageEnView: added SelectionGridSize property
- TIETIFFHandler: added MovePage method
- TIETIFFHandler: added ExchangePage method
- TImageEnView: added OnViewChanging event
- TImageEnVIew: added GetMaxViewXY method
- Twain properties: addded AutoDiscardBlankPages property
- TImageEnProc: added Reflection method
- TImageEnProc: added PerspectiveDraw method
- TImageEnProc: added ProjectDraw method
- TImageEnProc: added AdjustTemperature method
- TIESelectionOptions: added iesoRightButtonTerminatePolySelect value
- TIETwainParams: added ShowSettingsOnly property
- TIETwainParams: added SourceSettings property
- TIETIFFHandler: added LittleEndian property
- TIETIFFHandler: added Version property
- TImageEnProc: added IsClipboardAvailable method
- TImageEnView: SetNavigator, added "options" parameter
- TImageEnVect: added ObjIsClipboardAvailable method
- TIETIFFHandler: added InsertPage method
- TIETIFFHandler: added CopyTag method
- TImageEnView: added IsNavigator property
- TImageEnView: added UpdateReason property
- TImageEnIO: added InjectTIFFEXIF method
- added IEWICAvailable public field
- TIOParamsVals: added HDP_ImageQuality property
- TIOParamsVals: added HDP_Lossless property
- TImageEnIO: added LoadFromFileHDP method
- TImageEnIO: added LoadFromStreamHDP method
- TImageEnIO: added SaveToFileHDP method
- TImageEnIO: added SaveToStreamHDP method
- add new classes TIEWICReader and TIEWICWriter to support Microsoft Windows Imaging Component (requires Windows XP (SP2) with .Net 3.0, Windows Vista)
- TIEBitmap: added MergeWithAlpha method
- TIEBitmap: added Create overload
- added iewic unit
- TIEBitmap: added Write method
- TIEBitmap: added Read method

New/Changed/Deleted parameters



- TImageEnProc.AutoCrop2: changed type of BorderRate to double
- TImageEnProc: now Contrast accepts double values
- TIETIFFHandler, WriteFile: added "page" optional parameter

Compatibility issues



- TImageEnVect: now antialiasing is active also with softshadow
- iegUseDefaultFileExists: default is -false-, meaning ImageEn will use GetFileAttributes instead of FileExists






VERSION 3.0.2


New features



- Delphi 2009 compatibility
- now TImageEnMView can load preview of IEV, ALL and LYR ImageEn formats
- now selection of objects with penWidth>1 works better
- optimized about 2x MedianFilter
- now it is possible to save ICO using TImageEnMIO (or MIO)
- now it is possible to send frames from a TImageEnView to another, with delay and a specific time intervals
- TIFF: added support for planar CMYK (8 bit)


Fixed bugs



- BUG: fixed bug updating component inside OnCreate event
- BUG: fixed bug in MedianFilter
- BUG: fixed bug loading DICOM, with lossless jpeg encoding
- BUG: fixed bug displaying layers box and grips
- BUG: fixed math rounding problems displaying multiple layers
- BUG: fixed bug with miScroll and multiple layers
- BUG: fixed math rounding problems in Bicubic/Bilinear resampling methods


New classes, methods and properties



- TIESelectionOptions: added iesoRightButtonSelectLayers value
- TIOParamsVals: added OriginalWidth property
- TIOParamsVals: added OriginalHeight property
- TImageEnMIO: added SaveToFileICO method
- TImageEnMIO: added SaveToStreamICO method
- TImageEnView: added LayersSelectConstrains property
- TImageEnView: added BeginPostFrames method
- TImageEnView: added EndPostFrames method
- TIERulerBox: added Inverted property
- TIERulerBox: added ScrollRate property
- TIEUndoSource: added TIEUndoSource ieuObjectsAndLayers value
- TImageEnView: added UnLockUpdateEx mehotd
- TImageEnMView: added two overloads to AppendImage method
- TImageEnMView: added RemoveBlankPages method
- TImageEnMIO: added AllowMalformedPages property


New/Changed/Deleted parameters



- TImageEnMView.FillFromDirectory: added ExcludeExtensions optional parameter
- TImageEnMView: SetImageFromFile added SourceImageIndex optional parameter
- TImageEnMView: SetImageFromStream added SourceImageIndex optional parameter


Compatibility issues



- TIEFileFormatInfo is a class instead of a record, so it must be created and sent to IEFileFormatADD
- several demos could raise warnings or not compile under Delphi 2009









VERSION 3.0.1


New features



- improved GIF loading speed
- supported filtered resampling for ie8g images
- now pressing SHIFT rotating a layer, it is rotated in steps of LayersRotateStep values (default 45 degrees)
- added support for Turkish and Korean languages
- now it is possible to smooth scroll moving mouse (without click and drag)
- enhanced quality of Rotate method (without antialias)
- supported loading EXIF from Photoshop CS3
- added sample capture\captFromIPCamera to show how capture live frames from Gran IP Camera III
- now it is possible to enhance jpeg quality with JPEG_CromaSubsampling
- enhanced jpeg quality when JPEG_Quality is 100
- improved speed of filtered resampling routines (like rfTriangle,etc..) and filtered display
- supports for ICC profiles reading PSD files
- now it is possible to load a single tile from a tiled TIFF
- added a strategy to allocate large images in fragmented blocks (to avoid out of memory on fragmented memory)
- TIFF: now supported LZW compressed TIFF with inverted fill order
- TIFF: supported extra channels with premultipled and unassociated alpha channel


Fixed bugs



- BUG FIX: now preview dialog is correctly displayed under Vista
- BUG FIX: preview dialog is slow on resizing
- BUG FIX: AV when enough memory is available to allocate a large bitmap
- BUG FIX: fixed memory leak loading some RAW formats
- BUG FIX: fixed memory leak in SeparateObjects and CreatePolygonsFromSelection
- BUG FIX: fixed bug on LayersMergeAll and LayersDrawTo with negative PosX and PosY and without Crop activated
- BUG FIX: TImageEnView, fixed bug setting DisplayGrid=true
- BUG FIX: fixed memory leak saving PNG with text comments
- BUG FIX: sometime multilayer PSD cannot be handled correctly by Photoshop
- BUG FIX: fail to read alpha channel from some PNG files
- BUG FIX: fixed several bugs reading RAW formats
- BUG FIX: now polyline lines are round joined
- BUG FIX: saving GIF (with TImageEnIO) doesn't work with unicode file names


New classes, methods and properties



- TImageEnView: added LayersRotateStep property
- TImageEnView: added SetViewXYSmooth method
- TImageEnView: added SmoothScrollValue property
- TIEMouseInteractItems: added TIEMouseInteractItems miMovingScroll value
- TImageEnView: added SelectColors method
- TImageEnProc: added CopyPaletteTo method
- TImageEnView: added LayersRotationAntialias property
- TImageEnProc: added CompareHistogramWith method
- TIOParamsVals: added EXIF_XPRating property
- TMsgLanguage: added msKorean value
- TImageEnVect: added ObjFontQuality property
- TImageEnVect: added ObjEnableFastDrawing property
- TIOParamsVals: added JPEG_CromaSubsampling property
- TIOParamsVals: added TIFF_GetTile property
- TImageEnView: added FixRotationBorders property


New/Changed/Deleted parameters



- restored default JPEG_DCTMethod = ioJPEG_ISLOW







VERSION 3.0.0


New features



- now it is possible to load IPTC from DNG (using external plugin)
- added layers mouse action hints
- now it is possible to encrypt/decrypt an image (limitations for lossy file formats)
- now it is possible to rotate layers with mouse
- TImageEnMView, TImageEnVect: now it is possible to set shadow intensity and color
- now selection grips can be circles (now the default) and boxes
- now image processing dialog has a "reset" button (allowing hard and soft reset)
- now image processing preview is correctly displayed at dpi different by 96
- now it is possibile to print multiple images per sheet
- now it is possible to log operation executed inside previews dialog
- TImageEnMIO.Params[].FileName: now is filled for all file formats
- added three binarize algorithms (mean, median and min/max mean)
- improved CMYK->RGB and RGB->CMYK conversion using an embedded profile
- improved DICOM compatibility
- improved scrolling speed of layers with mask
- now it is possible to load URL from secure http (https://...)
- now it is possible to load URL from FTP (ftp://...)
- now TImageEnView, TImageEnMView and inherited components has OnEnter and OnExit events
- improved IPTC compatibility
- TImageEnVect: now filled and closed polygons can be selectable also inside they area
- now TImageEnMView displays file icon instead of question mark for unknown files
- now border of iekLINELABEL objects are modificable
- now iekLINELABEL can be selected also clicking on text
- now iekLINELABEL ending position (text) can be changed without change the whole object position

Fixed bugs



- BUG FIX: fixed artifacs in BumpMapping method
- BUG FIX: fixed bug loading URL in TImageEnIO
- BUG FIX: fixed bug enabling multiselect and SetPresetThumbnailFrame
- BUG FIX: fixed memory leak loading DICOM
- BUG FIX: now WIA trasnfers with TImageEnMIO fire OnProgress events
- BUG FIX: fixed memory leak reading DICOM images (lossless jpeg encoded)
- BUG FIX: fixed bug saving PSD files (sometime PSD are unreadable by Photoshop)
- BUG FIX: fixed bug in TImageEnMView.LoadSnapshot and SaveSnapShot
- fixed several minor bugs

New classes, methods and properties



- TImageEnVect: added ObjIsVisible method
- added iegdiplus unit
- TImageEnView: added EnableInteractionHints property
- TImageEnProc: added Encrypt method
- TImageEnProc: added Decrypt method
- TIELayer: added Rotate property
- TIELayer: added RotateCenterX property
- TIELayer: added RotateCenterY property
- TImageEnView: added LayersFixRotations method
- TImageEnView: added LayersFixBorders method
- TIEVSoftShadow: added Intensity property
- TIEVSoftShadow: added ShadowColor property
- added iegUseGDIPlus public field
- TImageEnView: added SetLayersGripStyle method
- TImageEnVect: added ObjGripShape property
- TImageEnMIO: added PrintImages method
- TImageEnMView: added MoveSelectedImagesTo
- TImageEnProc: added PreviewsLog property
- TImageEnMView: added SelectionAntialiased property
- TImageEnView: added HighlightedPixel property
- TImageEnProc: added ConvertToBWLocalThreshold method
- imageenio unit: added iegUseCMYKProfile public field
- imageenio: added iegMaxImageEMFSize public field
- TImageEnMView: added OnPlayFrame event
- TIOParamsVals: added EnableAdjustOrientation property
- TImageEnView: added LayersRotationFilter property
- TImageEnMView: added LoadIconOnUnknownFormat property
- TImageEnView: added MoveContentTo method
- TImageEnVect: added ObjLabelBorder property

New/Changed/Deleted parameters



- changed MinFileSize and IEDefMinFileSize from integer to int64
- ImageResize: added optional parameter FillAlpha
- TIEMouseInteractItems: added miRotateLayers value
- TIELayerEvent: added ielRotating value
- TIELayerEvent: added ielRotated value
- now TImageEnVect.ObjAntialias is true for default
- disabled TImageEnVect.ObjGraphicRender modality when gdiplus is available
- SetSelectionGripStyle: added Shape parameter
- TImageEnVect: renamed GripPen, GripBrush, GripImage and GripSize to ObjGripPen, ObjGripImage, ObjGripBrush and ObjGripPen
- TImageEnVect: documented DrawOneObjectToBitmap method
- TPRPreviewsParamsItems (PreviewsParams property): added prppShowResetButton and prppHardReset values
- TImageEnView: now EnableAlphaChannel is true for default
- AutoCrop: returns the cropped rectangle
- AutoCrop: added DoCrop optional parameter
- ExecuteOpenDialog: added Title optional parameter
- ExecuteSaveDialog: added Title optional parameter
- ExecuteOpenDialog: added Title optional parameter
- ExecuteSaveDialog: added Title optional parameter
- now Sort accepts methods other than static functions
- FillFromDirectory: added AllowUnknowFormats parameter