Updating and Compatibility

Downloading Updates

During your registration period you will receive all new release for free. You can obtain the update at:

Once your registration ends, you will need to purchase an extension to continue receiving updates and support:

Implementing Updates

In general, the process of upgrading from any earlier version of ImageEn to the latest is painless. We work hard to ensure that our improvements do not affect your existing functionality, or require recoding. Generally this is done by defaulting to old methods, or marking an existing method as "Deprecated" while adding a newer one.

Note: If you are getting an "E2003 Undeclared Identifier" error and don't know the unit, search for the type in the Index and the unit name will be specified at the top of the page

All compatibility changes over the lifetime of ImageEn are recorded here. If you are upgrading from a recent version of ImageEn it is easier to review the "Compatibility Issues" section of the version history.

TImageEnView Compatibility Notes

Item Version Change Type Notes More Information
TImageEnView.OnDrawLayer 12.0.5 Changed Parameters ImageEnView1.OnDrawLayer now includes a Rect parameter. Remove existing event and add event handler again OnDrawLayer
TImageEnView.SelectionAspectRatio 12.0.0 Replaced Instead use: ImageEnView1.SelectionLockAspectRatio which uses a standard W/H ratio (SelectionLockAspectRatio = 1 / SelectionAspectRatio) SelectionLockAspectRatio
TImageEnView.TransitionTiming 12.0.0 Replaced Instead use: ImageEnView1.TransitionParams.Timing TransitionParams
TIELayer.Scaled 11.4.0 Changed Instead use: ImageEnView1.Layers[2].ScaleLocking ScaleLocking
ieppPrintTextWithGDI, ieppGrayScale 11.0.0 Removed Removed PDF options that are no longer supported by PDFium PrintOptions
TImageEnView.fIEBitmap 10.3.5 Demoted The fIEBitmap field is no longer exposed. Instead use: ImageEnView1.IEBitmap IEBitmap
TImageEnView.PdfViewer 10.2.0 Changed Behavior To allow text selection you must set ImageEnView1.MouseInteractGeneral := [miPdfSelectText]; MouseInteractGeneral
TIEPdfViewer.AllowTextSelection 10.2.0 Removed To allow text selection you must set ImageEnView1.MouseInteractGeneral := [miPdfSelectText]; MouseInteractGeneral
TImageEnView.ButtonParams.Color 10.1.0 Renamed Instead use: ImageEnView1.ButtonParams.FillColor := clRed; FillColor
TIELayer.FillGradient 10.0.0 Changed Type Layer Gradients are now of type TIEGDIPlusGradient rather than TIELayerGradient. Conversions are as follows: grdNone -> gpgNone, grdHorizontal -> gpgHorizontal, grdVertical -> gpgVertical, grdHorzCenter -> gpgHorzCenter, grdVertCenter -> gpgVertCenter, grdDiagonal -> gpgDiagonal, grdDiagonal2 -> gpgDiagonal2, grdDiagCentered -> gpgDiagCenter, grdDiagCentered2 -> gpgDiagCenter2 FillGradient
TImageEnView.CloneTool.Continuous 9.1.0 Removed Instead use: ImageEnView1.BrushTool.PaintMode := iepmContinuous; PaintMode
TImageEnView.MouseInteract 8.6.0 Changed Property TImageEnView.MouseInteract has now been split into MouseInteractGeneral and MouseInteractLayers. Layer interaction items have been renamed with an ml* prefix, e.g. miMoveLayers has become mlMoveLayers MouseInteractGeneral, MouseInteractLayers
miMoveLayers, miResizeLayers, miRotateLayers, miCreateImageLayers, miCreateShapeLayers, miCreateLineLayers, miCreatePolylineLayers, miCreateTextLayers, miClickCreateLineLayers, miClickCreatePolylineLayers, miDrawCreatePolylineLayers, miEditLayerPoints 8.6.0 Renamed Renamed with ml* prefix: mlMoveLayers, mlResizeLayers, mlRotateLayers, mlCreateImageLayers, mlCreateShapeLayers, mlCreateLineLayers, mlCreatePolylineLayers, mlCreateTextLayers, mlClickCreateLineLayers, mlClickCreatePolylineLayers, mlDrawCreatePolylineLayers, mlEditLayerPoints TIEMouseInteractLayers
TImageEnView.FlatScrollBars 8.6.0 Removed FlatScrollBars no longer has visual function in Windows  
TImageEnView.RulerParams.Units 8.5.0 Changed Types Units of ImageEnView1.RulerParams are now of the type TIEUnits not TIERulerUnits RulerParams
TImageEnView.OnButtonClick 8.1.2 Changed Parameters ImageEnView1.OnButtonClick now includes a MouseButton parameter. Remove existing event and add event handler again OnButtonClick
TImageEnView.OnDrawLayerBox 8.0.0 Changed Parameters ImageEnView1.OnDrawLayerBox uses a TCanvas rather than a TIEBitmap. Remove existing event and add event handler again OnDrawLayerBox
TImageEnView.OnLayerSelectionChange 8.0.0 Changed Functionality ImageEnView1.OnLayerSelectionChange now fires for programmatic changes of selection too. Use OnLayerNotifyEx if you only want user generated changes OnLayerSelectionChange
TImageEnView.AnimPolygon* methods 8.0.0 Removed TImageEnView.AnimPolygonDel, AnimPolygonNew, AnimPolygonClear, AnimPolygonAddPt and AnimPolygonEnabled have been removed. Contact us if you made use of this functionality  
TImageEnView.RulerParams.AlignToImage 8.0.0 Removed Instead use: ImageEnView1.RulerParams.DisplayNegativeValues := ienvAlways; DisplayNegativeValues
TIELineLayer.SetLinePointsEx 8.7.6 Removed Instead use: TIELineLayer(ImageEnView1.Layers[2]).SetPoints( 100, 100, 250, 250 ); SetPoints
TIELayer.GetIndex 8.0.0 Renamed Instead use: idx := ImageEnView1.Layers[2].LayerIndex; LayerIndex
TImageEnView.Bitmap / LegacyBitmap 7.5.0 Changed Default ImageEnView1.LegacyBitmap now defaults to False. If your code accesses ImageEnView1.Bitmap, it will automatically set ImageEnView1.LegacyBitmap := True; LegacyBitmap
TImageEnView.ZoomSelectionAspectRatio 7.5.0 Removed Instead use: ImageEnView1.DisplayOptions := ImageEnView1.DisplayOptions + [iedoMaintainAROnZoomSelect]; DisplayOptions
TImageEnView.OffScreenPaint 7.5.0 Removed Instead use: ImageEnView1.DisplayOptions := ImageEnView1.DisplayOptions + [iedoPaintWhenOffScreen]; DisplayOptions
TImageEnView.GetFitValue 7.0.1 Removed Instead use: z := ImageEnView1.GetIdealZoom(); GetIdealZoom
TImageEnView.LayersSync 7.0.0 Removed This property is no longer available. If you made use of this functionality (forcing all layers to have the same dimensions), email us for a workaround  
TImageEnView.LayersAdd / LayersInsert 7.0.0 Changed Functionality Layers are no longer created at position (0,0). They are given a default position which increments with each new layer  
TIELayer 6.3.3 Moved unit The TIELayer classes have been moved to the iexLayers unit. Add it to your uses clause TIELayer
TImageEnView.CropTool.Mode 6.3.1 Renamed BitmapRectangle renamed to BitmapPolygon, RotatedRectangle renamed to RotatedPolygon, SetBitmapRectangle renamed to SetBitmapPolygon, ScreenRectangle renamed to ScreenPolygon BitmapPolygon
TImageEnView.LayersRepositionAll 6.3.1 Changed Functionality Due to an error, ImageEnView1.LayersRepositionAll() would move layer in opposite direction to documentation. This is corrected in 6.3.1 LayersRepositionAll
TImageEnView.DoubleBuffer 6.3.0 Removed No change in functionality  
TImageEnView.DisplayGridKind 6.2.2 Removed Instead use: ImageEnView1.DisplayGridKind := iedgPixelGrid; DisplayGridKind
TImageEnView.DpiX / DpiY 6.2.2 Changed Functionality These properties now just reference ImageEnView1.IO.Params.DPI Dpi
TImageEnView.LayersAutoUndo 6.2.1 Removed Instead use the loAutoUndoChangesByUser and loAutoUndoChangesByCode options of ImageEnView1.LayerOptions. Also it is enabled by default if TImageEnView.Proc.AutoUndo is true LayerOptions
TImageEnView.DisplayImageRect 5.2.0 Removed Instead set ImageEnView1.VisibleBitmapRect := r; VisibleBitmapRect
TImageEnView.Assign 5.2.0 Changed Functionality Now when calling ImageEnView1.Assign() and the source is a TImageEnView it will copy all layers. If a TImageEnVect it will also copy all objects Assign

TImageEnProc Compatibility Notes

Item Version Change Type Notes More Information
TImageEnProc.RemoveIsolatedPixels 7.0.1 Changed Functionality By default, pixels that touch diagonally are no longer considered isolated. Set the CheckDiagonals parameter to false to revert to old functionality RemoveIsolatedPixels
Math and color methods 7.0.0 Moved unit Many math and color helper methods that were located in the imageenproc unit have now been moved to the hyieutils unit Other Global Methods
TImageEnProc.Undo 6.3.0 Changed ImageEnView1.Proc.Undo() captions are now read from iewords.pas and not hard coded. To use the older undo captions enable the IEUseLegacyUndoCaptions define in Undo
TImageEnProc.Undo / UndoAt 6.3.0 Changed Parameters Combined parameters of ImageEnView1.Proc.Undo / UndoAt. If ImageEnView1.Proc.AutoUndo property is enabled then the entries added to redo will be removed from the Undo list. To return to older functionality, enable the IEUseLegacyUndoFunctionality define in Undo, UndoAt
TImageEnProc.Redo / RedoAt 6.3.0 Changed Parameters Combined parameters of ImageEnView1.Proc.Redo / RedoAt. If ImageEnView1.Proc.AutoUndo property is enabled then the entries added to undo will be removed from the Redo list. To return to older functionality, enable the IEUseLegacyUndoFunctionality define in Redo, RedoAt
TImageEnProc.RedoPeekAt 6.3.0 Removed Code such as ImageEnView1.Proc.RedoPeekAt( idx ) should be replaced with ImageEnView1.Proc.GetRedoInfo( ImageEnView1.Proc.RedoCount - 1 - idx, Src, iOp ); GetRedoInfo
TImageEnProc.UndoPeekAt 6.3.0 Removed Code such as ImageEnView1.Proc.UndoPeekAt( idx ) should be replaced with ImageEnView1.Proc.GetUndoInfo( ImageEnView1.Proc.UndoCount - 1 - idx, Src, iOp ); GetUndoInfo
TImageEnProc.MergeIEBitmap 6.2.0 Removed Instead use: ImageEnView1.Proc.Merge() Merge
TImageEnProc.ShiftChannel 5.2.0 Changed Parameters No longer use integers to specify channels for ImageEnView1.Proc.ShiftChannel(). Use iecRed for 2, iecGreen for 1 and iecBlue for 0 ShiftChannel
TImageEnProc.Rotate 5.0.0 Changed Functionality Deprecated some ImageEnView1.Proc.Rotate() methods in favour of overloaded versions that avoid the AntiAlias parameter. If you have used ImageEnProc1.Rotate(45) (i.e. with only one parameter and a non-90 degree rotation) then the anti-aliasing has changed from "None" to "Fast". To preserve the old behaviour, change your code to: ImageEnProc1.Rotate(45, ierNone); Rotate
TImageEnProc.CutTransparentBorder 4.3.0 Renamed Renamed to ImageEnView1.Proc.CropTransparentBorder() CropTransparentBorder

TImageEnIO Compatibility Notes

Item Version Change Type Notes More Information
ppPCX, ppTGA 12.5.0 Removed The PCX (ppPCX) and TGA (ppTGA) properties tabs are no longer shown in the Save Properties dialog DoPreviews
TImageEnIOHelper.LoadFromStreamFast 12.0.0 Renamed Instead use: ImageEnView1.IO.LoadFromStream() LoadFromStream
TImageEnIOHelper.CreatePSFromFileList() 12.0.0 Removed Instead use: ImageEnView1.IO.CreatePSFile() CreatePSFile
TIEDicomTags.GetTagDescription 8.0.0 Moved Use IEGetDicomTagDescription() in ieDicomTags unit instead. Code that was s := ImageEnView1.IO.Params.DICOM_Tags.GetTagDescription(idx); should be changed to s := IEGetDicomTagDescription( ImageEnView1.IO.Params.DICOM_Tags, idx ); IEGetDicomTagDescription
TImageEnIO.PrintImagePos / DoPrintPreviewDialog 8.0.0 Change in functionality When printing at a specified size, the aspect ratio of the image will be maintained. To prevent this, set ImageEnView1.IO.PrintingMaintainAR := False; PrintingMaintainAR
TIEDictionary 6.3.1 Change in functionality ImageEnView1.IO.Params.Dict is now case insensitive Dict
TImageEnIO.ProxyAddress / ProxyPassword / ProxyUser 6.2.0 Removed These are now properties of IEGlobalSettings() so they apply to TIEBitmap and TIEMultiBitmap too ProxyAddress
TIEDICOMTags.AddTag / GetTagChildren 5.2.0 Changed Functionality Applications calling TIEDICOMTags.AddTag() and TIEDICOMTags.GetTagChildren() must work with TObjectList as child object AddTag, GetTagChildren
TImageEnIO.AcquireOpen / AcquireClose 4.1.0 Renamed Renamed to ImageEnView1.IO.TwainAcquireOpen() and ImageEnView1.IO.TwainAcquireClose() TwainAcquireOpen, TwainAcquireClose

TImageEnMView Compatibility Notes

Item Version Change Type Notes More Information
TImageEnMView.SelectionWidthNoFocus 12.0.0 Replaced Instead use ImageEnMView1.HideSelectionOnDefocus := True; HideSelectionOnDefocus
TImageEnMView.FilenameFilter 10.1.0 Renamed Instead use: ImageEnMView1.Filter := '*'; Filter
TImageEnMView.OnSelectionChanging 9.3.1 Changed Parameters ImageEnMView1.OnSelectionChanging event now includes a NewIndex parameter. Remove existing event and add event handler again OnSelectionChanging
TImageEnMView.OnSelectionChanging 9.3.1 Changed Behavior ImageEnMView1.OnSelectionChanging event now occurs with Seek and SelectSeek OnSelectionChanging
TImageEnMView.EnableLoadEXIFThumbnails 9.1.0 Changed Behavior Now defaults to false. If ImageEnMView.EnableLoadEXIFThumbnails = true, it uses EXIF thumbnails even if they are lower quality than the thumbnail resolution EnableLoadEXIFThumbnails
TImageEnMView.DrawImageBackground 8.5.0 Removed Instead use: ImageEnMView1.ThumbnailOptionsEx := ImageEnMView1.ThumbnailOptionsEx + [ietxFillWithImgBackground]; ThumbnailOptionsEx
TImageEnMView.SetPresetThumbnailFrame 8.3.0 Removed Removed TImageEnMView.SetPresetThumbnailFrame. Instead use: SetImageEnMViewPresetThumbnailFrame() in iepresetim unit SetImageEnMViewPresetThumbnailFrame
TImageEnMView.GridWidth 8.1.0 Changed Behavior Default ImageEnMView1.GridWidth for a new TImageEnMView is -1 (auto-width) instead of 0 (single row) GridWidth
TImageEnMView.TrackMouseSelection 8.0.0 Removed Instead use: ImageEnMView1.MultiSelectionOptions := ImageEnMView1.MultiSelectionOptions + [iemoHideSelectionRect]; MultiSelectionOptions
TImageEnMView.MultiSelectedImages 8.0.0 Changed Functionality ImageEnMView1.MultiSelectedImages() is now sorted by display order. To prevent auto-sorting (maintain order they were selected) use ImageEnMView1.MultiSelectionOptions := ImageEnMView1.MultiSelectionOptions + [iemoDontSortMultiSelection]; MultiSelectedImages
TImageEnMView.AssignLayers 8.0.0 Changed Functionality ImageEnMView1.AssignLayers() was outputting in an order different from documentation. The default value for the Reversed parameter has been changed. Check any calls to AssignLayers in your code AssignLayers
TImageEnMView.SelectionAntialiased 7.0.0 Removed Instead use: ImageEnMView1.ThumbnailsBorderCurved := False; ThumbnailsBorderCurved
TImageEnMView.RemoveCorrupted 6.2.2 Removed Rather than ImageEnMView1.RemoveCorrupted := True; use ImageEnMView1.IOOptionsEx := ImageEnMView1.IOOptionsEx + [ ieixRemoveCorrupted ]; IOOptionsEx
TImageEnMView.ThumbWidth / ThumbHeight 6.2.2 Changed Functionality No longer takes zoom into account when read. Instead use: ImageEnMView1.ThumbSizeInfo() ThumbSizeInfo
TImageEnMView.UpperGap / BottomGap 6.2.2 Changed Functionality No longer includes space for text (which is handled internally) so layout may change UpperGap, BottomGap
TImageEnMView.TIEMText 6.0.0 Removed See compatibility notes for ImageTopText, ImageInfoText and ImageBottomText ImageTopText, ImageInfoText, ImageBottomText
TImageEnMView.EnableResamplingOnMinor 6.0.0 Removed Instead use: ImageEnMView1.ThumbnailOptionsEx := ImageEnMView1.ThumbnailOptionsEx + [ietxStretchSmallImages]; ThumbnailOptionsEx
TImageEnMView.ImageTopText / ImageInfoText / ImageBottomText 6.0.0 Changed Functionality ImageTopText, ImageInfoText and ImageBottomText are no longer records, just widestring properties (see details below) ImageTopText, ImageInfoText, ImageBottomText
TImageEnMView.ImageTopText / ImageInfoText / ImageBottomText.Caption 6.0.0 Removed Just set ImageTopText, ImageInfoText or ImageBottomText which are now a widestring properties, e.g. IEMView1.ImageInfoText[idx].Caption := sFilename; Will become: IEMView1.ImageInfoText[idx] := sFilename; ImageTopText, ImageInfoText, ImageBottomText
TImageEnMView.ImageTopText / ImageInfoText / ImageBottomText.BackgroundStyle and Background 6.0.0 Removed Use TextBackgroundStyle and TextBackgroundColor. If you need custom styles for certain frames use OnGetTextEx TextBackgroundStyle
TImageEnMView.ImageTopText / ImageInfoText / ImageBottomText.TruncSide 6.0.0 Removed Instead use: ImageEnMView1.TextTruncSide := iemtsRight; TextTruncSide
TImageEnMView.ImageTopText / ImageInfoText / ImageBottomText.Font 6.0.0 Removed Use TImageEnMView.TopTextFont/TImageEnMView.InfoTextFont/TImageEnMView.BottomTextFont. If you need custom fonts for certain frames use OnGetTextEx OnGetTextEx
TImageEnMView.Checkboxes 5.2.0 Changed Functionality Checkbox properties have changed Checkboxes, CheckboxPos
TImageEnMView.OnPlayFrame 5.2.0 Changed Parameters Remove existing ImageEnMView1.OnPlayFrame event and add event handler again OnPlayFrame
TImageEnMView.HighlightTextColor 5.2.0 Removed Instead use: ImageEnMView1.SelectedFontColor. Note: Default of HighlightColor was clHighlightText, whereas ThumbnailsBackgroundSelected defaults to clNone SelectedFontColor
TImageEnMView.HighlightColor / SelectionStyle 5.2.0 Removed Instead use: ImageEnMView1.ThumbnailsBackgroundSelected. Note: Default of HighlightColor was clHighlight, whereas ThumbnailsBackgroundSelected defaults to clBtnFace ThumbnailsBackgroundSelected
TImageEnMView.OnImageIDRequest / OnImageIDRequestEx 5.1.0 Changed Parameters Remove existing ImageEnMView1.OnImageIDRequest or ImageEnMView1.OnImageIDRequestEx event and add event handler again OnImageIDRequest
TImageEnMView.LoadIconOnUnknownFormat 5.0.0 Removed Instead use: ImageEnMView1.ThumbnailOptionsEx := ImageEnMView1.ThumbnailOptionsEx + [ietxShowIconForUnknownFormat]; ThumbnailOptionsEx

TImageEnFolderMView Compatibility Notes

Item Version Change Type Notes More Information
TImageEnFolderMView.IncludeSubfolders 10.2.0 Changed By default, TImageEnFolderMView will parse a maximum of 1000 sub-folders when IncludeSubfolders is enabled. This can be configured by setting ImageEnFolderMView1.SubFolderLimit SubFolderLimit
TImageEnFolderMView.DetectFileFormat 6.2.2 Removed ImageEnView1.IOOptionsEx := ImageEnMView1.IOOptionsEx + [ieixLoadOnlyByFileExt]; IOOptionsEx
TImageEnFolderMView.ResetAllTextToDefault 6.2.0 Removed No longer needed when setting Default*Text. Otherwise use: IEMView1.SetAllText( IEMView1.DefaultTopText, IEMView1.DefaultInfoText, IEMView1.DefaultBottomText ); SetAllText
TImageEnFolderMView.OnFolderChange 6.0.0 Removed Instead use: OnFolderChanging and OnFolderChanged OnFolderChanging

TImageEnMIO Compatibility Notes

Item Version Change Type Notes More Information
TImageEnMIO.PreviewPrintImages / PrintImagesToBitmap / PrintImagesToFile 8.1.0 Changed parameters Heading parameters have been added, so you may need to check the parameters you are using for PreviewPrintImages, ImageEnMView1.MIO.PrintImagesToBitmap() and ImageEnMView1.MIO.PrintImagesToFile(). If you pass a value for iPageNo, prefix it by: '', 5, clBlack, PreviewPrintImages
TImageEnMIO.PrintImagePos / DoPrintPreviewDialog 8.0.0 Change in functionality When printing at a specified size, the aspect ratio of the image will be maintained. To prevent this, set: ImageEnMView1.MIO.PrintingMaintainAR := False; PrintingMaintainAR
TImageEnMIO.SaveToFile 7.0.1 Changed Parameters You may need to add ioUnknown as the second parameter for ImageEnMView1.MIO.SaveToFile() SaveToFile
TImageEnMIO.ProxyAddress / ProxyPassword/ProxyUser 6.2.0 Removed These are now properties of IEGlobalSettings() so they apply to TIEBitmap and TIEMultiBitmap too ProxyAddress
TImageEnMIO.AcquireOpen / AcquireClose 4.1.0 Renamed Renamed to ImageEnMView1.MIO.TwainAcquireOpen() and ImageEnMView1.MIO.TwainAcquireClose() TwainAcquireOpen, TwainAcquireClose

TIEBitmap Compatibility Notes

Item Version Change Type Notes More Information
TIEBitmapHelper.IELoadFromFile / IELoadFromFileFast / IELoadFromStream / IELoadFromStreamFast / LoadFromFileJPEGFast / LoadFromStreamJPEGFast / LoadFromFileRawFast 12.0.0 Renamed Instead use: IEBitmap1.ReadEx() ReadEx
TIEBitmapHelper.IESaveToFile / IELoadFromFileFast / IESaveToStream 12.0.0 Renamed Instead use: IEBitmap1.WriteEx() WriteEx
TIEBitmapHelper.WicRead 12.0.0 Removed Instead use: IEBitmap1.WicFastLoading() WicFastLoading
TIEBitmapHelper.IEInitialize 8.0.0 Removed Instead use: IEBitmap1.Allocate() Allocate
TIEBitmap.RenderToTIEBitmap / RenderToTBitmap 6.3.0 Changed Parameters Removed ABitmapScanline parameter from RenderToTIEBitmap and RenderToTBitmap RenderToTIEBitmap
TIEBitmap.Read (Stream overload) 6.0.0 Changed Parameters Check paramaters for IEBitmap1.Read(). Code such as MyBmp.Read(aStream, aIOParams); should change to MyBmp.Read(aStream, ioUnknown, aIOParams); Read
TIEBitmap.RenderToTIEBitmapEx 6.0.0 Changed Functionality IEBitmap1.RenderToTIEBitmapEx() now includes a bEnableAlpha parameter (set to True to preserve existing functionality) RenderToTIEBitmapEx

IEVision Compatibility Notes

Item Version Change Type Notes More Information
IEVision OCR 8.3.0 Updated DLLs An updated set of language files is required from IEVision 5.0.0 onward. These can be downloaded from: TIEVisionOCR
CubeEngineExistsInFolder 8.3.0 Removed IEVision 5.0.0 introduced an improved OCR engine and no longer uses the Cube engine TIEVisionOCR
ievOCRFAST, ievOCRCUBE, ievOCRACCURATE 8.3.0 Deprecated IEVision 5.0.0 introduced an improved OCR engine and no longer needs these definitions TIEVisionOCR

Global Compatibility Notes

Item Version Change Type Notes More Information
IEGlobalSettings().TransitionsDrawAlternative / TransitionsDrawShape / PanZoomQualityFilter 12.0.0 Replaced Instead use: ImageEnView1.TransitionParams.AlternativeStyle / TransitionShape / PanZoomFilter TransitionParams
IEGlobalSettings().WordTransitionParams.Word / FontName / Style / Quality 12.0.0 Replaced Instead use: ImageEnView1.TransitionParams.WordTransWord / WordTransFontName / WordTransFontStyle / WordTransQuality TransitionParams
Transitions_Supporting_TransitionsDrawAlternative 12.0.0 Removed Transitions_Supporting_TransitionsDrawAlternative has been removed as all transitions now support an alternative drawing mode TIETransitionType
IEGlobalSettings().TIFF_LZWDecompFunc / TIFF_LZWCompFunc / GIF_LZWDecompFunc / GIF_LZWCompFunc 12.0.0 Removed These are now set automatically by ImageEn. They do not need to be specified. If you require custom LZW support, define IESupportCustomLZW in
IEGlobalSettings().MemoShortcuts 10.2.0 Renamed Instead use: IEGlobalSettings().KeyboardShortcuts := ...; KeyboardShortcuts
IEGlobalSettings().DefEMFBackgroundColor 10.2.0 Renamed Instead use: IEGlobalSettings().EMFBackgroundColor := clWhite; EMFBackgroundColor
IEGlobalSettings().ImageEnVersion 10.0.1 Type change IEGlobalSettings().ImageEnVersion is now of type TIEVersion. Code that referenced IEGlobalSettings().ImageEnVersion should use IEGlobalSettings().ImageEnVersion.VersionStr ImageEnVersion
IEGlobalSettings().CameraRawEngine 9.2.5 Type change TIECameraRawEngine type replaced by TIEImagingEngine. Set items change as follows: iecrAuto -> ieenAuto, iecrLibRaw -> ieenDLL, iecrWIC -> ieenWIC, iecrDCRaw -> ieenLegacy CameraRawEngine
IEGlobalSettings().EnableTheming 9.1.0 Changed default IEGlobalSettings().EnableTheming now defaults to true, i.e. themed colors will be used by default, if VCL theming has been enabled EnableTheming
IEGlobalSettings().MinimumRawEmbeddedJpegWidth / MinimumRawEmbeddedJpegHeight 9.1.0 Removed Instead use: ImageEnView1.IO.Params.RAW_EmbeddedJpegMinWidth / RAW_EmbeddedJpegMinHeight RAW_EmbeddedJpegMinWidth, RAW_EmbeddedJpegMinHeight
IEGetJumboFileIcon / IEGetLargeFileIcon 8.3.0 Renamed Instead use: WindowsGetFileIcon() WindowsGetFileIcon
IEGetMyComputerName 8.3.0 Renamed Instead use: WindowsGetMyPCName() WindowsGetMyPCName
IEGetMyComputerIcon 8.3.0 Renamed Instead use: WindowsGetMyPCIcon() WindowsGetMyPCIcon
WindowsGetExplorerThumbnail 8.3.0 Renamed Instead use: WindowsGetExplorerThumbnail() WindowsGetExplorerThumbnail
IEGlobalSettings().CameraRawEngine 8.3.0 Changed Default By default, Raw Camera images will be loaded using LibRaw (or WIC) instead of DCRaw. You can revert to old functionality using: IEGlobalSettings().CameraRawEngine := ieenLegacy; CameraRawEngine
IEGlobalSettings().UseLibRaw 8.0.1 Removed Instead use: IEGlobalSettings().CameraRawEngine := ieenDLL; CameraRawEngine
IEFileFormatGetInfo2 8.0.0 Renamed Now use IEFileFormatGetInfo(). Also, SuitableExtension is now longer a writeable property IEFileFormatGetInfo
IEAddExtIOPlugin 6.2.2 Changed Functionality Now raises exception if try to load DCRAW (i.e. call ieaddextioplugin('dcrawlib.dll'). Instead of DCRAW add ielib.dll or ielib64.dll to your EXE folder (it loads automatically) ImageEn DLLs
AdjustRectToAspectRatio 6.0.0 Changed Parameters Replaced by IEAdjustRectToAspectRatio(), but note change of parameter order IEAdjustRectToAspectRatio
GetFileDetails 6.0.0 Removed Use IEGetFileDetails() instead IEGetFileDetails
DefGIF_LZWDECOMPFUNC, DefGIF_LZWCOMPFUNC, DefTIFF_LZWDECOMPFUNC, DefTIFF_LZWCOMPFUNC 4.3.1 Removed These are now set automatically by ImageEn. They do not need to be specified. If you require custom LZW support, define IESupportCustomLZW in
iegDefaultCoresCount, iegOpSys, iegUnicodeOS, iegDefaultPreviewsZoomFilter, IEDefDialogCenter, iegDefaultDialogFont, IEDefMinFileSize, iegAutoLocateOnDisk, iegAutoFragmentBitmap, iegUseGDIPlus, iegPreviewImageBackgroundStyle, iegPreviewImageBackgroundColor, iegPreviewAdditionalMultipageExts, iegMemoShortCuts, ieMeasureUnits, gSystemColors, gIsRemoteSession, gSystemDPIX, gSystemDPIY, gDefaultDPIX, gDefaultDPIY, gMMX, gEdgeX, gEdgeY, gBorderX, gBorderY, gVScrollWidth, gHScrollHeight, iegMinZoomDisplayGrid, iegGridPen, iegSelectionGridColor, iegMViewExplorerThumbnailExts, iegFileFormats, iegUseCMYKProfile, iegUseDefaultFileExists, iegMaxImageEMFSize, iegEnableCMS, iegColorReductionQuality, iegColorReductionAlgorithm, iegObjectsTIFFTag, iegUseRelativeStreams, iegPanZoomQualityFilter, gRedToGrayCoef, gGreenToGrayCoef 4.3.1 Removed All global settings are now managed by the IEGlobalSettings() object, e.g. Instead of IEDefMinFileSize := 10240000; use IEGlobalSettings().DefMinFileSize := 10240000; TIEGlobalSettings
MsgLanguage 4.3.1 Removed Now removed from individual objects. Instead use: IEGlobalSettings().MsgLanguage := msItalian; MsgLanguage

Other Compatibility Notes

Item Version Change Type Notes More Information
TBitmapHelper.IELoadFromFileFast() 12.0.0 Renamed Instead use: Bitmap.IELoadFromFile() IELoadFromFile
TBitmapHelper.IELoadFromStreamFast() 12.0.0 Renamed Instead use: Bitmap.IELoadFromStream() IELoadFromStream
ImageMagick.dll 11.4.0 Behavior change To register the legacy ImageMagick plug-In, ImageMagick.dll, add iexPlugIns to your uses clause and call: IEAddExtIOPlugIn('imagemagick.dll'); IEAddExtIOPlugIn
Localization support 11.0.0 Behavior change To support localization in 25 languages you must include the IELang dll in your exe folder
TIEFolderTree.UpdateAutomatically 10.2.0 Renamed Instead use: IEFolderTree1.AutoRefresh := True; AutoRefresh
TImageEnViewToolbar.InitializeButtons 10.1.0 Renamed Instead use: ImageEnViewToolbar1.UpdateButtons(); UpdateButtons
iexClasses, iexVirtualBitmaps, iexOtherClasses, iexUserInteractions 9.3.1 New Units Some classes have been moved to new units. You may need to add them to your uses clause  
TIEFileListBox.Filename 9.1.1 Renamed Instead use: fn := FileListBox1.SelectedFilename; SelectedFilename
TIEFileDragDrop 8.7.5 Moved Unit If you use TIEFileDragDrop, add iexWindowsFunctions to your uses clause TIEFileDragDrop
TImageEnMViewStyle* Action Properties 9.0.0 Removed TopText, InfoText, BottomText, FixGaps. ShowIconsOnly and ThumbnailSize properties have been removed for actions: TImageEnMViewStyleShowThumbs, TImageEnMViewStyleShowDetails, etc. The TImageEnMView Text properties are now used TImageEnMView Text properties
IEDLLLoadLog 8.1.1 Moved Instead use: IEGlobalSettings().DLLLoadingLog; DLLLoadingLog
ImageEn Layer Actions 8.1.0 Moved classes All TImageEnView Layer Actions have been moved to the iexActionsLayers unit. You may need to add it to your uses clause TImageEnView Layer Actions
Misc TIOFileTypes 8.0.0 Removed Some file types have now been merged: iomscDDS is now ioDDS, iomscPSB is now ioPSD, iomscTIFF64 and iomscPTIF are now ioTIFF, iomscDFONT is now iomscTTF, ioRawDLLPlugIn is now ioRaw, ioDLLPLUGINS is now ioOtherDLLPlug TIOFileType
Supported_Generate_Points_Shapes 8.0.0 Removed All shapes are now supported by points TIEShape
TRulerBox.OnRulerPosChange / OnRulerGripClick / OnRulerGripDblClick / OnRulerClick 6.3.1 Changed Parameters Parameters have changed for TRulerBox events. Remove old event handlers and recreate TRulerBox
TIOParams.LoadFromFile / LoadFromStream / SaveToFile / SaveToStream 6.3.1 Changed Functionality By default, ImageEnView1.IO.Params.LoadFromFile / LoadFromStream are not compatible with Params files from pre-6.3.1 versions of ImageEn. To maintain compatiblity you set the CheckMagicString parameter to false LoadFromFile
TIEVirtualBitmapProvider.Render 6.3.0 Changed Parameters Check parameters you are using for TIEVirtualBitmapProvider.Render() Render
DCRAW.DLL and Raw Files 6.2.0 Changed Functionality No longer supports RAW camera format internally or uses dcrawlib.dll. ImageEn now just needs ielib.dll or ielib64.dll to load RAW camera files (don't need to initialize, just put in same folder as your EXE) ImageEn DLLs
TOpenImageEnDialog 6.2.0 Changed Functionality No longer defaults to filter of filename, unless default is set, e.g. OpenImageEnDialog1.FilterDefault := ioJPEG; FilterDefault
iexDicomRoutines 5.2.0 Removed Dicom helper unit, iexDicomRoutines is no longer included, by default. Either use the updated array and relevant functions in ieDicom or the access the old units in \Source\Legacy\ Advanced Helper Methods
iexEXIFRoutines.pas / iexIPTCRoutines.pas 5.2.0 Removed EXIF helper unit, iexEXIFRoutines.pas, and IPTC helper unit, iexIPTCRoutines.pas, are no longer included, by default. Either use the iexMetaHelpers unit or the access the old units in \Source\Legacy\ Advanced Helper Methods
TOpenImageEnDialog.ShowAVI 5.1.0 Removed Instead use the published property: OpenImageEnDialog1.ShowFormats := iesfImagesOnly; ShowFormats
TImageEnVect.OnBeforeDrawObject / OnAfterDrawObject 5.1.0 Changed Parameters Remove existing ImageEnVect1.OnBeforeDrawObject and ImageEnVect1.OnAfterDrawObject events and add event handler again OnBeforeDrawObject
TImageEnVect.SelObjects 5.0.6 Changed Functionality ImageEnVect1.SelObjects now returns -1 if there are no selected objects SelObjects
TImageEnVect.CopyObjectToBack 5.0.5 Changed Parameters Removed MergeAlpha parameter CopyObjectsToBack
TIETransitionType 5.0.5 Moved TIETransitionType and other transition code moved to iexTransitions.pas TIETransitionType
TIEVirtualBitmapRenderer 5.0.0 Renamed Renamed to TIEVirtualBitmapProvider TIEVirtualBitmapProvider

Deprecated Classes and Methods

Superseded methods in ImageEn are marked deprecated and you may get a warning from Delphi. Although deprecated methods will continue to work thoughout the lifetime of ImageEn, you can disable their inclusion by undefining IEIncludeDeprecatedInV* in

Item Version Change Type Notes More Information
TImageEnView.SetAlphaRangePixelsColor 13.2.0 Deprecated Instead use TImageEnView.IEBitmap.SetColorFromAlpha() SetColorFromAlpha
TImageEnView.CopyToBitmapWithAlpha 13.2.0 Deprecated Instead use TImageEnView.IEBitmap.AssignTo() AssignTo
TImageEnView/TImageEnMView.Bitmap 13.1.0 Deprecated Instead use IEBitmap which prevents the control changing to a memory inefficient state TImageEnView.IEBitmap/TImageEnMView.IEBitmap
TImageEnMView.UnselectImage 12.0.0 Deprecated Instead use ImageEnMView1.Deselect(index); Deselect
iemsACD 12.0.0 Deprecated The iemsACD has been replaced by iemsFlat Style
TIOParams.DCX_Image 12.0.0 Deprecated Instead use: ImageEnView1.IO.Params.ImageIndex ImageIndex
iettLeftRight1, iettLeftRight2, iettRightLeft1, iettRightLeft2,
iettUpDown1, iettUpDown2, iettDownUp1, iettDownUp2
12.0.0 Deprecated Instead use: iettLeftRight, iettRightLeft, iettUpDown, iettDownUp TIETransitionType
peWave 11.3.0 Deprecated Wave functionality now appears on the "Other Effects" tab. Instead use: peOtherEffects TPreviewEffects
TImageEnProc.GetHSVChannelAll 11.3.0 Deprecated Instead use overload of: ImageEnView1.Proc.GetHSVChannel() GetHSVChannel
TImageEnProc.GetRGBChannelAll 11.3.0 Deprecated Instead use overload of: ImageEnView1.Proc.GetRGBChannel() GetRGBChannel
TImageEnProc.Threshold2 11.3.0 Deprecated Instead use overload of: ImageEnView1.Proc.Threshold() Threshold
EXIFCompatibleFile, NewGridForEXIF, ReadGridFromEXIF, WriteGridToEXIF, NewListForEXIF, ReadListFromEXIF, WriteListToEXIF, EXIF_WriteToStrings, EXIF_ApertureValue_Str, ExposureTime_Str, EXIF_FNumber_Str, EXIF_MaxApertureValue_Str, EXIF_ShutterSpeedValue_Str, EXIF_XResolution, EXIF_YResolution, EXIF_CanWriteEXIFData, IPTC_HasIPTCData, IPTCCompatibleFile, NewGridForIPTC, ReadGridFromIPTC, WriteGridToIPTC, NewListForIPTC, ReadListFromIPTC, WriteListToIPTC, IPTC_WriteToStrings, DicomCompatibleFile, DICOM_HasDicomTags, ReadGridFromDicom, ReadListFromDicom, DICOM_WriteToStrings, XMPCompatibleFile, XMP_HasXMPData, ReadGridFromXMP, ReadListFromXMP, XMP_WriteToStrings, InitializeGrid, ClearGridFields, InitializeList, ClearListFields, GetExifTagList, ContainsExifTag, ReplaceExifTags 11.0.0 Deprecated Review the iexMetaHelper Compatibility Notes Compatibility Notes
TImageEnIO/TImageEnMIO.DialogsMeasureUnit 11.3.0 Deprecated Instead use: TIEGlobalSettings().DialogMeasureUnit DialogMeasureUnit
TImageEnMView.UnfilteredCount 10.3.0 Deprecated Instead use: n := ImageEnMView1.FilteredCount(False); FilteredCount
TIELayer.IsRuler 10.2.0 Deprecated Instead use: TIELineLayer(ImageEnView1.Layers[2]).RulerMode := iermLabel; RulerMode
TImageEnView.IsEmpty2 10.1.0 Deprecated Instead use: b := ImageEnView1.IsEmpty(False); IsEmpty
IEAutoLoadIOPlugins 10.0.0 Deprecated Instead use: TIEGlobalSettings().RegisterPlugIns() RegisterPlugIns
IEGetTranslationWord / IESetTranslationWord 9.3.0 Deprecated Instead use: TIEGlobalSettings().GetLanguageWord() and TIEGlobalSettings().SetLanguageWord() GetLanguageWord
TImageEnFolderMView.SortAscending / SortCaseSensitive 9.3.0 Deprecated Instead use: IEFolderMView1.SortOptions := [...]; SortOptions
TImageEnMView.MultiSelectedImagesAutoSort 9.2.0 Deprecated To disable sorting use: ImageEnMView1.MultiSelectionOptions := ImageEnMView1.MultiSelectionOptions + [iemoDontSortMultiSelection]; MultiSelectionOptions
TImageEnMView.SideGap 9.1.0 Deprecated Instead use: ImageEnMView1.LeftGap := gap; ImageEnMView1.RightGap:= gap; LeftGap, RightGap
TImageEnView.LayersRotationAntialias 9.0.0 Deprecated Instead use: ImageEnView1.LayersRotationFilter := ierBicubic; LayersRotationFilter
TImageEnMView.InsertTransitionFramesEx / TIEMultiBitmap.InsertTransitionFramesEx 9.0.0 Deprecated Instead use overload of: ImageEnMView1.InsertTransitionFrames() InsertTransitionFrames
TImageEnProc.PrepareTransitionBitmapsEx 9.0.0 Deprecated Instead use overload of: ImageEnView1.Proc.PrepareTransitionBitmaps() PrepareTransitionBitmaps
TIELineLayer.SizeToFit 8.7.6 Deprecated No longer needed as line layers now automatically size to fit the containing line TIELineLayer
TImageEnView.AutoFit 8.6.0 Deprecated Instead use: ImageEnView1.AutoShrink := True; ImageEnView1.AutoStretch := True; AutoShrink, AutoStretch
TImageEnView.MouseInteract 8.6.0 Renamed Now named ImageEnView1.MouseInteractGeneral. Some items have been moved to MouseInteractLayers MouseInteractGeneral
TImageEnView.CropTool.Crop 8.0.0 Deprecated Instead use: ImageEnView1.CropTool.Enact() Enact
TIELineLayer.LinePoints 8.0.0 Deprecated Instead use: TIELineLayer(ImageEnView1.Layers[2]).LinePoint1 and TIELineLayer(ImageEnView1.Layers[2]).LinePoint2 LinePoint1
TImageEnView.ForceALTkey 8.0.0 Deprecated Instead use: ImageEnView1.ShiftKeyLock := iessAlt_MaintainAR; ShiftKeyLock
TImageEnView.LayersMove 8.0.0 Renamed Now named ImageEnView1.LayersArrange() LayersArrange
TImageEnViewSelCopyToClip / TImageEnViewSelCutToClip 12.5.0 Removed Instead use: TImageEnViewCopyToClipboard and TImageEnViewCutToClipboard. Set CopySource to iecpSelection TImageEnView Actions
TImageEnViewLayersCreateFromClipboard 7.0.0 Deprecated Instead use: TImageEnViewPasteFromClipboard. Set PasteDest to iecpLayer TImageEnView Actions
DrawCustomShape / CreateCustomShapeRegion / TXCustomShape 7.0.0 Deprecated Instead use: new IEDrawShape/IECreateShapeRegion/TIEShape IEDrawShape
TImageEnView.AutoFixRotationBorders 7.0.0 Deprecated Instead use: ImageEnView1.LayerOptions := ImageEnView1.LayerOptions + [loAutoFixBorders]; LayerOptions
TImageEnView.LayersRotationDelayFilterOnPreview 7.0.0 Deprecated Instead use: ImageEnView1.LayersFastDrawing := iefDelayed; LayersFastDrawing
TImageEnView.LayersCreateFromText 7.0.0 Deprecated Instead use text overload of ImageEnView1.LayersAdd(); LayersAdd
TImageEnView.LayersLoadFromFile / LayersLoadFromStream / LayersSaveToFile / LayersSaveToStream 7.0.0 Deprecated Instead use: ImageEnView1.IO.LoadFromFileIEN / LoadFromStreamIEN / SaveToFileIEN / SaveToStreamIEN LoadFromFileIEN
TImageEnProc.CopyToClipboard 7.0.0 Deprecated See new overload of ImageEnView1.Proc.CopyToClipboard() CopyToClipboard
TImageEnProc.SelCopyToClip 7.0.0 Deprecated Instead use: ImageEnView1.Proc.CopyToClipboard(iecpSelection) CopyToClipboard
TImageEnProc.SelCutToClip 7.0.0 Deprecated Instead use: ImageEnView1.Proc.CutToClipboard(iecpSelection) CutToClipboard
TImageEnProc.IsClipboardAvailable 7.0.0 Deprecated Instead use: ImageEnView1.Proc.CanPasteFromClipboard(iecAuto) CanPasteFromClipboard
TImageEnProc.SelPasteFromClip 7.0.0 Deprecated Instead use: ImageEnView1.Proc.PasteFromClipboard(iecpSelection) PasteFromClipboard
TImageEnProc.SaveUndoCaptioned / SaveRedoCaptioned 6.2.2 Deprecated Instead use overloads of: ImageEnView1.Proc.SaveUndo / SaveRedo SaveUndo, SaveRedo
TImageEnProc.SelPasteFromClipStretch 6.2.0 Deprecated Instead use: ImageEnView1.Proc.PasteFromClipboard() PasteFromClipboard
TImageEnView.CopySelectionToIEBitmap 6.2.0 Deprecated Instead use: ImageEnView1.CopySelectionToBitmap() CopySelectionToBitmap
TImageEnMView.SetIEBitmap 6.2.0 Deprecated Instead use: ImageEnMView1.SetImage() SetImage
TImageEnIO.LoadFromFileFormat / LoadFromStreamFormat 6.2.0 Deprecated Instead use: ImageEnView1.IO.LoadFromFile / LoadFromStream() LoadFromFile
TImageEnIO.TIOParamsVals 6.2.0 Deprecated Renamed TIOParamsVals class to TIOParams TIOParams
TImageEnMIO.LoadFromFileFormat / LoadFromStreamFormat 6.2.0 Deprecated Instead use: ImageEnMView1.MIO.LoadFromFile() / LoadFromStream() LoadFromFile
ppeColorAdjust / ppeEffects 6.0.0 Deprecated Instead use: ppeColorAdjustments, ppeEditingFunctions, ppeSpecialEffects TPreviewEffects

Deprecated Components

Some older components have been replaced by newer ones, or otherwise are no longer relevant. To support legacy projects, these components will continue to be available thoughout the lifetime of ImageEn, however you can disable their inclusion by undefining them in

Item Version Change Type Notes More Information
TImageEnVect 8.3.0 Deprecated Superseded by TImageEnView Layers Conversion Information
TRulerBox 6.3.1 Deprecated Rulers are now built into TImageEnView ShowRulers
TImageEnDBView 6.2.0 Deprecated Use a standard TImageEnView and set TIEDBBitmap as follows: ImageEnView1.SetExternalBitmap(myDBBitmap) SetExternalBitmap
TImageEnDBVect 6.2.0 Deprecated Convert your code to use TImageEnView Layers and use TIEDBBitmap TIEDBBitmap
TIEMediaReader 4.2.1 Deprecated TIEMediaReader uses IMediaDet, which Microsoft has marked as Deprecated and may be removed from future releases of Windows TIEDirectShow
TImageEnVideoView 4.2.1 Deprecated Video for Windows is no longer supported by Microsoft. See the DirectShow demos to display video files in a TImageEnView TIEDirectShow
TImageEnVideoCap 4.2.1 Deprecated Video for Windows is no longer supported by Microsoft. See the DirectShow demos to capture video TIEDirectShow