What's New

Version 13.0.0

New Features

- Added: SevenZip plug-in also supports ZipX, 7z and Rar
- Added: TIEPolylineLayer supports breaks and close-breaks to create more complex shapes
- Added: New Balloon, Link and "Delphi" Gladiator vector shapes
- Added: IEVision Bitmap Helper methods: TIEBitmap.OCR(), TIEBitmap.OCR_GetRegions(), TIEBitmap.OCR_GetOrientation(), TIEBitmap.MatchTemplate(), TIEBitmap.DetectBlobs(), TIEBitmap.Inpaint(), TIEBitmap.ScanBarcode(), TIEBitmap.FindObjects(), TIEBitmap.DetectPeople(), TIEBitmap.OrbDetectAndDeskew(), TIEBitmap.SubtractImageBackground()
- Added: IEVision MultiBitmap Helper methods: TIEMultiBitmap.CreateSearchablePDF(), TIEMultiBitmap.StitchImages(), TIEMultiBitmap.MergeExposures()
- Added: TImageEnProc.Fill() supports color blending
- Added: TImageEnMView.GetTIEBitmap() supports loading of full quality images even when filled with a multi-page image
- Added: TImageEnMView.AttachedImageEnView supports loading of full quality images even when filled with a multi-page image
- Added: Splitters can be used in TImageEnIO.LoadFromFile() as a shortcut method to specify the Image Index
- Added: PDFViewer (PDFium) available in Delphi 7 and newer
- Added: Many TIEBitmap methods will automatically update owner, so ImageEnView1.Update() is no longer needed
- Added: TImageEnProc.AutoCrop supports inner cropping (leaving no border of rotated or stitched images)
- Added: TIEMultiBitmap.FillFromList() overload for an array of filenames
- Added: Layer saving to internal formats supports much larger images without memory issues
- Added: TIEMultiBitmap Append() overloads supporting bitmap regions
- Added: A Link glyph is shown in the corner of selected layers of the same group
- Added: Rotated text layers are output correctly to PDF
- Added: Many improvements to methods in iexHelperFunctions
- Added: Performance optimizations for layer display
- Added: Formatted rich text layers support rotation
- Added: Improved WIC support for 32bit images
- Added: Timeout option for Twain acquisition
- Added: TIEBitmap.Equals() and TIEMultiBitmap.Equals()
- Added: TIERichEdit can save the selected image to file or bitmap
- Added: Can get and set the RTF formatted selection in TIERichEdit
- Added: Can insert links into TIERichEdit
- Added: New TIERichEdit actions: InsertLink, SaveSelectedImage, RemoveCurrentFormatting, ObjectPropertiesDialog
- Added: Can load SVG and WebP files using in-built Delphi 12 Skia support (just add Vcl.Skia to your uses clause)
- Added: Debugger visualizers to see content and properties of ImageEn bitmaps, controls and variables in the IDE
- Added: Can parse all objects of PDF pages, e.g. get/set all images, text or paths
- Added: Can remove objects from PDF pages
- Added: Updated PDFium to v6043
- Added: Objects on PDF pages can be imported as layer objects (text, images and paths)
- Added: Visualizer for TColor which displays human-readable values and a color preview
- Added: Ctrl key can be used to reverse direction of Zoom interaction
- Added: Delphi 12 Support

Bug Fixes

- Fixed: TImageEnIO.ReplaceFileTIFF() removes frame before failing with Big-Endian TIFF files
- Changed: Reversed direction of tab scrolling to more common method
- Fixed: Some issues reading Unicode ICC metadata
- Fixed: TIEBitmap.Canvas may be nil on first access
- Fixed: Alpha channel not supported when saving to a single layer PSD file
- Fixed: Negative curve values for polylines may draw straight
- Fixed: Crop Tool side grips not hidden by ExtendedGrips property
- Fixed: IEVision will not fall back to the system path when a specified path fails
- Fixed: When editing new rich text layer, may inherit old attributes
- Fixed: TIEMultiBitmap.Filename may not be set by some loading/saving methods
- Fixed: TImageEnMView.SelectedFilename works even when multiframe image is loaded
- Fixed: PDFViewer.Find() always returns true when Select parameter is false
- Fixed: TImageEnMView.MultiSelectedImages is not correct when iemoLeaveOneSelected is enabled
- Fixed: Error if enable TImageEnMView.AnnotationsVisible with monochrome images
- Fixed: Screen capture may not include cursor on multiple monitor systems
- Fixed: SizeToFit works for rotated rich formatted text layers
- Fixed: Handles better with GDI resource errors during transitions
- Fixed: Ctrl-deselecting with MView display a PDF can cause deselection
- Fixed: PDFium plug-in may be automatically registered by TOpenImageEnDialog
- Fixed: Fails to create TIFF files larger than 2GB

Changes to Classes

- Added: OnDrawCanvas and OnPaint events for TImageEnMView
- Added: TIERichEdit.ShowURLHint and TIERichEdit.OnProtectChange
- Added: OnSelectColor event for TIEColorButton
- Added: DesignTimeView property for TIEFolderTree to prevent designer crashes

Changes to Method Parameters

- Added: Color compare method parameter for TImageEnProc.CompareWith()
- Added: Closed parameter for AddLinePath

Demo Changes

- New: Object to parse objects of a PDF Page (Demos\Other\PDFPageObjects\PDFPageObjects.dpr)
- Added: New options for CompareWith demo (Demos\ImageAnalysis\ImagesDiff\ImagesDiff.dpr)
- New: Custom User Interaction demo (Demos\Other\CustomUserInteraction\UserInteraction.dpr)
- Added: Scanning and many IEVision helper methods added to Every Method demo (Demos\ImageEditing\EveryMethod\EveryMethod.dpr)
- New: Find Objects with Classifier demo (Demos\Other\GetWithClassifier\GetMisc.dpr)
- Added: Stitcher demo supports cropping (Demos\IEVision\Stitcher\Stitcher.dpr)
- New: Screen Capturing demo (Demos\InputOutput\CaptureFromScreen\CaptureFromScreen.dpr)
- Added: New functions in RichEdit demo (Demos\Other\RichEdit\RichEdit.dpr)
- Added: PDF importing added to all layer demos
- Added: SVG Layer Demo can use Delphi's Skia for SVG loading (Demos\LayerEditing\SVGVectorLayers\SVGLayers.dpr)

Compatibility Issues

- Changed: Moved CreateWallpaperBitmap() and IEDrawShape() to ieHelperFunctions unit
- Changed: Do not call PDFViewer.FindNext() to find initial instance after performing a non-visual search with PDFViewer.Find()
- Changed: ievOCRAuto_Only segmentation mode renamed to ievOCRAuto_OnlySegmenting
- Changed: Closed parameter has been added to AddLinePath
- Changed: Add the iexActionsRichEdit unit if you use TIERichEdit actions
- Changed: TIOFileType is now a "type integer" rather than an integer
- Changed: TImageEnFolderMView1.DeproritizeLargeImages/DeproritizeLargeImageMethod now named DeprioritizeLargeImages/DeprioritizeLargeImageMethod
- Changed: Renamed TIEPdfViewerInteraction class to TIEPdfViewer

See Also

- Complete History
- Updating and Compatibility