ImageEn

What's New


Version 12.0.0

New Features

- Added: All transitions offer an alternative drawing mode
- Added: Four new Zigzag wipe transitions
- Added: Centralized configuration of transition effects in TImageEnView
- Added: Transition effects can be customized in TImageEnMView
- Added: Single property to enable display of transition effects when loading images in TImageEnView
- Added: Simpler overloads to display pan-zoom effects in TImageEnView
- Added: TImageEnView.OnIONotify event which occurs before and after all loading, saving and aquisition events
- Added: ImageMagick saving supports ie1g and alpha formats
- Added: Design-time preview for TIEMetaListView
- Added: Group headings in TIEMetaListView can be double-clicked to expand or collapse
- Added: TImageEnMView filtering supports all text fields
- Added: TImageEnMView can filter by file size, dimension and dates
- Added: IEDrawColorPalette() to output a palette as a bitmap
- Added: TImageEnProc.GetDominantColor() can return a list of most used colors
- Added: Histograms can be drawn to bitmap
- Added: Two bitmaps can be joined (with any overlapping content between them automatically removed)
- Added: Performance tweaks when creating polyline layers
- Added: TImageEnProc.CompareWith() supports comparing of image rectangles
- Added: Advanced drawing methods for TIECanvas: Stylized text, shapes, polygons, angles and lines
- Added: Optimized drawing methods for some in-built vector shapes
- Added: New in-built vector shapes, such as Flag, Dinosaur and Palm Tree
- Added: Shape comboboxes are drawn with anti-aliasing
- Added: TImageEnProc.GradientFill() supports many more gradient directions
- Added: Implemented LibRaw 0.21 adding support for new Canon, Nikon, Sony and other camera formats
- Added: Updated PDFium to v5579
- Added: TIEPdfViewerInteraction.ScrToPage() and PageToScr()
- Added: VCL theming support for TIEColorCurve, TIEColorPalette and THistogramBox
- Added: GenerateHuePalette() and TIEColorPalette.AppendHuePalette()
- Added: Default colors for TIEColorPalette and design-time support
- Added: Full VCL theming support for TImageEnProc.DoPreviews()
- Added: Standardization of all common exceptions
- Added: Many improvements to documentation, including more methods in the "ImageEnProc Preview" section and more detail in the "Updating and Compatibility" and "TImageEnVect to TIELayer Transition Info" sections
- Added: Large thumbnail style for TImageEnMView
- Added: SelectNearestColor() method for TIEColorPalette
- Added: Two new background styles: iebsPaper and iebsMetal
- Added: Selection in TImageEnMView can be hidden when the control loses focus
- Added: Much simpler to load plug-ins from custom folders
- Added: Editor automatically sizes when editing text in a TIETextLayer
- Added: Hard returns can optionally be added to text in the text editor


Bug Fixes

- Fixed: ImageEn Save dialog now uses selected filter to determine Advanced type
- Fixed: Layer snapping is offset by the background border even if not visible
- Fixed: Unnecessary canvas access in some cases when drawing to ImageEnView.IEBitmap
- Fixed: Layer shape sizes may be offset by 1
- Fixed: TIECanvas draw methods may include border even if Pen width is 0
- Fixed: Ruler DisplayNegativeValues view is incorrect when layers selected
- Fixed: Div by zero errors when changing some TIEMetaListView properties
- Fixed: Possible corruption error when loading IEN files created in v10.3.5 to v11.3.0 (inclusive)
- Fixed: Overdraw with TImageEnProc.TextOut() if font size too large
- Fixed: Cropped text with TImageEnProc.TextOut() when angled if width or height are not specified
- Fixed: Potential A/V when loading AVI in TImageEnMIO
- Fixed: IsKnownFormat() does not check for PDF plug-ins
- Fixed: TIEPdfViewerInteraction.PdfPrintEvent, was returning one-based values
- Fixed: Some positioning issues when pan-zooming
- Fixed: Text is not truncated for buttons in TImageEnLayerMView
- Fixed: Lag between hint and displayed values for rectangular measurement
- Fixed: Fonts may not be scaled for TImageEnMView when monitor is scaled
- Fixed: Default fonts for TImageEnMView may be stored when monitor is scaled
- Fixed: TImageEnMView.SelectionWidthNoFocus has no effect
- Fixed: Prevent A/V when reading some DICOM files with invalid header sizes
- Fixed: Text may wrap in formatted Text layers even if WordWrap is disabled
- Fixed: Optimized buttons in TIERichEdit hover toolbar
- Fixed: Possible A/V when drawing TIERichEdit to canvas in 64bit


Changes to Classes

- Added: TIEMetaListView.OnGetHeadingText event
- Added: TIEMetaListView.CollapseAllGroups/ExpandAllGroups
- Added: TIEMetaListView.Columns/Groups/Items properties are now public
- Added: Exposed TImageEnMView.ImageGetDisplayText()
- Added: TIEBitmap.JoinBitmaps() and TImageEnProc.JoinBitmaps()
- Added: THistogramBox.GetIEBitmap()
- Added: TImageEnView.InteractionState()
- Added: Aspect Ratio can be locked when cropping with TImageEnProc.DoPreviews()
- Added: Published some standard properties: OnMouseActivate, Constraints, DoubleBuffered, etc.
- Added: Optimized storing of Published properties


Changes to Method Parameters

- Added: TIETIFFHandler.InsertPageAsImage() supports TIEBitmap as parameter
- Added: Coverage parameter for TImageEnProc.CompareWith() to improve performance with large images
- Added: TImageEnMView.Deselect() adds Index parameter
- Added: TextWidth adds MaximizeWidth parameter to get maximum possible text width
- Added: PaintTo adds AllowWrapping parameter to output text onto a single line


Demo Changes

- Added: Fifty new methods in Every Editing Method demo, such as: TImageEnProc.CalcImagePalette, TImageEnProc.TextOut(), TIEBitmap.StretchValues(Manual/Auto), IEVision.canny(), IEVision.inpaint(), etc.
- Added: Improvements to Transitions Demo (\Demos\Display\Transitions\Transitions.dpr)
- Added: Palette exporting to Color Palette Demo (\Demos\Other\ColorPalette\ColorPalette.dpr)
- Added: Rewrite of Image Comparison Demo (\Demos\ImageAnalysis\ImagesDiff\ImagesDiff.dpr)
- Added: Improvements to Magic-Fill to Polygon Demo (\Demos\LayerEditing\MagicFillToPolygon\Magic2Polygon.dpr)
- Added: New Multi Pattern Matching demo (\Demos\IEVision\PatternMatchingMulti\PatternMatchingMulti.dpr)
- Added: Many improvements to Pan-Zoom demo (\Demos\Display\PanZoom\PanZoom.dpr)
- Added: Improved Navigator demo (\Demos\Display\Navigator\Navigator.dpr)
- Added: Show Lookup method in Multi DB demo (\Demos\Database\DBMultiBitmap_AllRecords\DBMultiBitmapFD.dpr)


Compatibility Issues

- Changed: Instead of ImageEnView1.SelectionAspectRatio, use: ImageEnView1.SelectionLockAspectRatio which uses a standard W/H ratio (SelectionLockAspectRatio = 1 / SelectionAspectRatio)
- Removed: Transitions_Supporting_TransitionsDrawAlternative no longer needed as all transitions support alternative drawing
- Removed: Removed some transitions: iettLeftRight1, iettLeftRight2, iettRightLeft1, iettRightLeft2, iettUpDown1, iettUpDown2, iettDownUp1, iettDownUp2. Instead use ettLeftRight, iettRightLeft, iettUpDown, iettDownUp
- Changed Behaviour: TImageEnProc.ClearSel(True) always adds an alpha channel to the image
- Removed: IEGlobalSettings().WordTransitionParams.Word/FontName/Style/Quality have been replaced by: ImageEnView1.TransitionParams.WordTransWord/WordTransFontName/WordTransFontStyle/WordTransQuality
- Changed: Instead of ImageEnView1.TransitionTiming, use ImageEnView1.TransitionParams.Timing
- Removed: TIEHistogramContent type, instead use THistogramKind: iehcRed, iehcGreen, iehcBlue, iehcGray, iehcHue become hkRed, hkGreen, hkBlue, hkGray, hkHue
- Removed: Deprecated TIOParams.DCX_ImageIndex. Just use TIOParams.ImageIndex
- Removed: TIEBitmapHelper.IELoadFromFile()/IELoadFromFileFast()/IELoadFromStream()/IELoadFromStreamFast()/LoadFromFileJPEGFast/LoadFromStreamJPEGFast/LoadFromFileRawFast: Instead use TIEBitmapHelper.ReadEx()
- Removed: TIEBitmapHelper.IESaveToFile()/IELoadFromFileFast()/IESaveToStream(): Instead use TIEBitmapHelper.WriteEx()
- Removed: TIEBitmapHelper.WicRead: Instead use TIEBitmap.WicFastLoading
- Removed: TImageEnIOHelper.LoadFromStreamFast. Instead use TImageEnIO.LoadFromStream()
- Removed: TBitmapHelper.IELoadFromFileFast(). Instead use IELoadFromFile()
- Removed: TBitmapHelper.IELoadFromStreamFast(). Instead use IELoadFromStream()
- Removed: TImageEnIOHelper.CreatePSFromFileList(). Instead use TImageEnIO.CreatePSFile()


See Also

- Complete History
- Updating and Compatibility