Version 15.0.0
New Features
◼Added: Can now display and edit individual
channels (Red, Green, Blue or Alpha) in TImageEnView
◼Added: ie32RGB and ie48RGB support in
TIEColorCurve
◼Added:
GenerateMap helper to create map images
◼Added:
IEGenerateSampleImage helper to create test images of all pixel formats
◼Added: Gradiated inversion of 8bit selection masks for TImageEnView
◼Added:
New Layer dialog allows selection and changing of layer type
◼Added: Support for TIFF files that contain a single block larger than 2GB
◼Added: Mouse wheel and other interactions allow zooming with
slippy maps
◼Added: Scrollbars supported for slippy maps
◼Added: Auto initialization option for bitmaps when using slippy maps
◼Added: New
Image Properties dialog that shows preview, meta-data, map and histogram for an image
◼Added: Equirectangular Renderer (for 3D images) supports zooming and scrollbars
◼Added: Virtual Bitmap providers automatically initialize bitmaps for viewing
◼Added: Complete documentation for
TIERichEdit
◼Added: TImageEnIO PDFium I/O uses a critical section
◼Added:
TIEBitmap.CopyRectTo supports ie8g to ie24RGB drawing
◼Added:
TImageEnProc.SetFromRGBChannels supports updating image by setting a single color channel
◼Added: Five new Actions: TImageEnViewLayersNew, TImageEnViewMouseSelectShape, TImageEnMViewViewProperties, TImageEnViewChannel, TImageEnViewEnableAlphaChannel
◼Added:
GetRGBChannel and
SetFromRGBChannels support ie8g format
◼Added: Optimization and version checking for IELang DLL
◼Added:
CalcImageNumColors supports ie24RGB, ie1g, ie32RGB
◼Added:
GetHistogram supports ie8g, ie16g, ie24RGB, ie32RGB
◼Added:
CastAlpha supports all color formats with an alpha channel
◼Added:
CompareHistogramWith auto-converts pixel format of second image if necessary
◼Added:
GetRGBChannel supports all pixel formats
◼Added: Many formats now support ie32RGB natively:
AdjustBrightnessContrastSaturation,
AdjustGainOffset,
AdjustLumSatHistogram,
AdjustSaturation,
AdjustTemperature,
AdjustTint,
ApplyCubeLUT,
CalcAverageRGB,
CalcDensityHistogram,
CalcImagePalette,
CalcOrientation,
CalcStdDev,
CastAlpha,
CastColor,
CastColorRange,
Colorize,
CompareHistogramWith,
ComputeImageEquality,
Contrast2,
Contrast3,
ConvertToBWLocalThreshold,
ConvertToGray,
ConvertToPalette,
ConvertToSepia,
Convolve,
DisposeChannels,
GetCMYKChannels,
GetDominantColor,
GetHSVChannel,
GuessChromaKeyColor,
Intensity,
MapGrayToColor,
MatchHSVRange,
Random,
RemoveChromaKey,
RemoveIsolatedPixels,
RemoveIsolatedPixels,
SetFromRGBChannels,
GetRGBChannel,
SkewDetectionFine,
Threshold,
WallisFilter,
Warp,
WhiteBalance_AutoWhite,
WhiteBalance_Coef,
WhiteBalance_GrayWorld,
WhiteBalance_WhiteAt,
IEDrawColorPalette,
TIEBitmap.CopyRectTo,
TIEBitmap.DrawToTIEBitmap,
TIEBitmap.SetColorFromAlpha,
TIEBitmap.RemoveAlphaChannel
◼Added:
Automatic image orientation supported when loading via WIC
◼Added: Complete native localization for Slovak language
◼Added: Splitter to widen font selector on RichEdit toolbar
◼Added:
ConvertToBW_FloydSteinberg,
ConvertToBWOrdered,
ConvertToBWThreshold and
ConvertToBWLocalThreshold support the alpha channel
◼Added:
Alpha channel is not lost when converting the pixel format to ie1g
◼Added: ie1g pixel format is supported when merging with
RemoveAlphaChannel
◼Added:
PerspectiveDraw and
ProjectDraw no longer modify the source image
◼Added: New installer used for improved package downloading, security and styling
◼Added: clNone can be specified for the
Brush Tool color to only paint the alpha channel
◼Added: Can specify the
alpha when performing a color fill interaction
◼Added: miColorPicker now also returns the click/hover position
◼Added: TImageEnView can save icon files in compressed PNG format
◼Added: New brush types: iebfLine, iebfRect, iebfFilledRect, iebfEllipse, iebfFilledEllipse
◼Added:
TIEBitmap.Assign allows assignment from ie16g, ie32f, ieCMYK, ieCIELab, ie48RGB pixel formats
◼Added:
IEDrawColorPalette automatically updates attached TImageEnView
◼Added: Visualizer displays hint for the color and alpha value under the cursor
◼Added:
EnableHoverHint property to display the color and alpha value under the cursor
◼Added: Improved styling of TImageEnView hover hints
◼Added:
Border width can be specified for TImageEnView hover hints
◼Added:
WicFastLoading is supported even when loading scaled JPEG images
◼Added: WIC can be used to load scaled JPEG images
embedded in Camera RAW files
◼Added:
AutoOptimizeOnSave supports ie1g, ie8g, ie8p and ie32RGB images too
◼Added: Hover hint for miColorPicker
◼Added: Weighting options for color and alpha gradient fills, e.g. ease in/out, middle-weighted, etc.
◼Added:
Auto conversion to compatible formats when saving is optional
◼Added:
AutoConvertFormat will automatically promote PNG to 8bit or 24bit when saving with Alpha
◼Added: Automatically converts to compatible pixel format and compression when saving DICOM if
AutoConvertFormat is enabled
◼Added: Auto converts format when saving WIC to unsupported pixel formats (ie8p, ie32f, ieCIELab, ieCMYK)
◼Added: ie8g and ie8p images can be merged with their alpha channel
◼Added: ie8g supported for saving to JPEG
◼Added:
AutoConvertFormat will automatically convert pixel format of TIFF files when incompatible
◼Added:
CastAlphaRange to change a range of transparency
◼Added: Alpha is stripped from RGBA format images when using
RemoveAlphaChannel
◼Added:
CastColorRange supports ie8g
◼Added:
IEDrawColorPalette works better with other pixel formats
◼Added: New
Wallis Filter algorithm to avoid letterbox effect
◼Added: Source of magnification for
magnify layers can be locked by property or ALT key
◼Added:
TImageEnProc.GetRGBChannel supports A channel for 32bit images
◼Added: Expanded use of standard ImageEn exceptions
◼Added: Improve error when loading corrupt IEN file
◼Added: Auto-correction of invalid JPEGQuality value
◼Added: Allows images of any pixel format when saving to WIC
◼Added: TImageList can be assigned to a TIEBitmap or TImageEnView
◼Added: Heif plug-in with support for Alpha channel and multiple frames, including AVIF saving
◼Added: DICOM images can be saved with custom
DICOM_BitsStored values
◼Added:
AddShapesToImageEnMView helper now allows an image to be used as the shape fill and can exclude boring shapes
◼Added:
TImageEnMIO.DoPrintPreviewDialog and
TImageEnMIO.DoSavePreviewDialog can be used to print/save a TIEMultiBitmap (without needing a TImageEnMView)
◼Added:
TImageEnMIO.DoPrintPreviewDialog allows a heading to be specified and styled when thumbnail printing
◼Added:
DrawToBitmap to output all images in a TIEMultiBitmap to bitmap
◼Added: Over 3000 code samples with sample images added to the documentation
◼Added: Implemented LibRaw 0.22 with support for many more cameras: Canon (EOS R1, EOS R5 Mark II, EOS R5 C, EOS R6 Mark II, EOS R8, EOS R50, EOS R100, EOS Ra), Fujifilm (X-T50, GFX 100S II, GFX100-II, X-T5, X-S20, X-H2, X-H2S), Hasselblad (CFV-50c, CFV-100c, X2D-100c), Leica (Q3 43, D-Lux8, SL3, Q3, M11), Nikon (Z6-III, Z f, Z30, Z8), Olympus (OM-1 Mark II, TG-7, OM-5), Panasonic (GH7, S9, DC-G9 II, DC-ZS200D, ZS220D, DC-TZ200D, TZ202D, TZ220D, DC-S5-II, DC-GH6), Pentax (KF, K III), Sony (ZV-E10M2, UMC-R10C, A9-III, ILX-LR1, A7C-II, A7CR, ILCE-6700, ZV-1M2, ZV-E1, ILCE-7RM5, A7R-V, ILME-FX30), etc.
◼Added: Many improvements to the documentation
Bug Fixes
◼Fixed: Workaround for aborting of URL based loading in TImageEnMView
◼Fixed: Spaces trimmed from text when cancelling Layer Properties dialog
◼Fixed:
TIEMask.SetShape does not apply any fully unselected pixels
◼Fixed: TIEMask.Assign() does not work correctly when assigning 24bit bitmaps
◼Fixed: Issue when
TIEMask internally gets promoted to 8bit while TImageEnView.SelectionMaskDepth=1
◼Fixed: Some Spanish strings not translated
◼Fixed:
TIOParamsHelper.WriteTo does not automatically add supported types if all requested
◼Fixed: Setting the PageIndex for
TIEPdfViewer will fail if there is no parent TImageEnView
◼Fixed: Small calculation error in Green channel when using
SetFromRGBChannels
◼Fixed:
AddInnerShadow and
AddSoftShadow do not automatically convert pixel formats
◼Fixed:
RemoveChromaKey did not auto-convert ie1g format
◼Fixed:
SkewDetection fails with 24bit images unless EdgeDetect is enabled
◼Fixed:
Cartoonify does not auto-convert to ie24RGB format
◼Fixed: Freezing with
TIEAnimation if Explorer Thumbnails are enabled
◼Fixed:
TIEImageEnAnnot defaults to IEVect Object annotations
◼Fixed: Resolves many issues when using ie1g or ie32RGB images in native format
◼Fixed:
TImageEnView.CopySelectionToBitmap adds an alpha channel to the image
◼Fixed: To avoid image bottom-up issues with Windows Explorer thumbnails, minimum size of 98x98 is enforced
◼Fixed: Font selector on RichEdit toolbar sets all default text
◼Fixed:
TImageEnMView.OnImageSelect not firing when navigating via attached TImageEnView
◼Fixed: Alpha channel may be added when rendering a bitmap to another bitmap if it has an alpha channel
◼Fixed: Drawing rotated text to ImageEnView canvas can mess up output
◼Fixed: Line layers become too tall at zero rotation
◼Fixed: Added checking for invalid types specified for TIELayerPointsInteraction.LayerKind
◼Fixed: Improve painting of line and angle layers when update is pending
◼Fixed: Handles ie16g, ie32f, ie48RGB, ieCIELab and ieCMYK formats when saving to PNG
◼Fixed: Conversions from ie1g to ieCIELab fail
◼Fixed: Paint issue with Retouch Tools when image has an alpha channel
◼Fixed: In some situations TImageEnView Pen Width is not reset
◼Fixed: Issues with loading some WIC formats because codec is explicitly specified
◼Fixed: Compression format ignored when saving a bitmap to IEN format (not attached to TImageEnView)
◼Fixed: Unable to save iedcJPEG compressed DICOM files if JPEGEngine is WIC
◼Fixed: Rare freeze that can occur when iterating Twain scanners and none are found
◼Fixed: Aborting not set to true when saving TIFF to incompatible pixel formats
◼Fixed: OnFinishWork not called when saving until file is available
◼Fixed: When saving incompatible pixel formats to save image formats they image may be corrupted rather than raising an exception
◼Fixed: Failure when saving TIFF with JPEG compression and ie16g, ie32f pixel formats
◼Fixed:
ScanBarcode helper does not consider selection area
◼Fixed: Potential memory leak if incompatible DICOM save format is specified
◼Fixed: Potential stack overflow with
TPdfObjectList.AddRect,
TPdfObjectList.AddPath and
TPdfObjectList.AddEllipse
◼Fixed:
TImageEnProc.GetReSel may return a rect larger than the image
◼Fixed: May get invalid result for
TImageEnProc.CalcImagePalette
◼Fixed: Bound checking issue with TImageEnProc selection
◼Fixed: Array overload of
GetDominantColor does not return a percentage
◼Fixed: Array overload of
GetDominantColor may not return principal color or fill array with null values
◼Fixed: For some formats a 0 byte file is left if TImageEnIO fails to save image
◼Fixed: Saving thumbnails to bitmap from TIEMultiBitmap without a TImageEnMView may give invalid fonts
◼Fixed: Improved positioning of thumbnails when printing a TImageEnMView
◼Fixed: Some compatibility fixes for 64-bit pointers
◼Fixed: TOpenImageEnDialog.ZoomFilter may have wrong value in rare case
◼Fixed: Directory not used for WindowsSelectDirectory if CSIDL constant used
Changes to Classes
◼Added:
TIESlippyMap.EnablePin method to draw a pin
◼Added:
THistogramBox.MaxHeightRatio property to prevent too tall histograms
◼Added:
TImageEnView.SelectionShape is now a published property
◼Added:
TImageEnViewToolbar.CurrentButtons
◼Added:
TImageEnVect.DrawTextMode
Changes to Method Parameters
◼Added:
TIOParamsHelper.WriteTo includes a Clear parameter
◼Added:
TIOParams.Create offers a Filename overload
◼Added: FillColor parameter for
TImageEnMView.AppendImage and
TImageEnMView.InsertImage
◼Added: Alpha parameter for
TIEBitmap.Fill
◼Added: MoveAlpha parameter for
TIEBitmap.MoveRegion
◼Added: TIEBitmap overloads for
TImageEnIO.PreviewPrintImage and
TImageEnMIO.PreviewPrintImages
◼Added: ClipImages parameter for all TImageEnMIO thumbnail printing and saving methods
Demo Changes
◼Added: Filtering of methods in Every Method demo (Demos\ImageEditing\EveryMethod\EveryMethod.dpr)
◼Added: Code examples are output in Every Method demo (Demos\ImageEditing\EveryMethod\EveryMethod.dpr)
◼Added: Many new methods added to Every Method demo (Demos\ImageEditing\EveryMethod\EveryMethod.dpr)
◼Added: ImageEnView selection methods added to Every Method demo (Demos\ImageEditing\EveryMethod\EveryMethod.dpr)
◼Added: Layers added to Every Method demo (Demos\ImageEditing\EveryMethod\EveryMethod.dpr)
◼Added: TImageEnIO dialog added methods to Every Method demo (Demos\ImageEditing\EveryMethod\EveryMethod.dpr)
◼Added: Improvements to PhotoSphere demo (Demos\Display\PhotoSphere\PhotoSphere.dpr)
◼Added: Shape selection in Complete Editor demo (Demos\ImageEditing\CompleteEditor\PhotoEn.dpr)
◼Added: Improvements to all Actions demos (Demos\Actions\)
◼Added: Quick set options in Toolbar demo (Demos\Other\ImageEnViewToolbar\IEToolbar.dpr)
◼Fixed: Crash in OCR Layout demo if run twice on same image (Demos\IEVision\OCRwithLayout\OCRwithLayout.dpr)
◼Added: Complete rewrite of Icon Editor demo (Demos\ImageEditing\IconEditor\IconEditor.dpr)
◼New: Hough circles detection demo (Demos\IEVision\CirclesDetect\CirclesDetect.dpr)
◼Added: New drawing features added to Brush Tool demo (Demos\ImageEditing\BrushTool\PaintBrush.dpr)
◼Added: Locking of the magnification source position in Layer Magnify demo (Demos\Display\Magnify2\Magnify2.dpr)
◼Added: Improvements to Threaded Processing demos (Demos\ImageEditing\ThreadedProcessing*)
◼Added: Improvents to Pan/Zoom demo (Demos\Display\PanZoomEffects\PanZoom.dpr)
Compatibility Issues
◼Removed: ivbLayersFontStyle no longer available as a
Toolbar Button ID. Instead use ivbLayersFont
◼Renamed: Some undocumented ImageEnProc global methods have been
renamed or removed
◼Changed: Visibility of the
Twain acquisition dialog is no longer checked unless included in
TwainCompatibilityOptions
◼Changed: Default for
FilteredAdjustDPI and
FilteredAdjustDPI is True
◼Changed: To save to TIFF with the following Photometric types: ioTIFF_WHITEISZERO, ioTIFF_BLACKISZERO, ioTIFF_RGBPALETTE, ioTIFF_TRANSPMASK, the
SamplesPerPixel of the image must be 1, or the
PixelFormat one of ie1g, ie8p, ie8g, ie16g, ie32f with
AutoSetBitDepth enabled
See Also
◼Complete History
◼Updating and Compatibility