ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

ImageEn History


 


ImageEn 8.1.2 (26 November 2018)

New Features
- Added: Zoom buttons for TImageEnView
- Added: ImageEnView hover buttons hide on mouse out
- Added: BrushTool brush step now supports minimum distance values
- Added: Can preview all pages when printing posters
- Added: Font size in Layer Text editor matches what was used for drawing (e.g. if text is shrunk)
- Added: Full localization support for Russian language
- Added: Full localization support for Dutch language
- Added: Now automatically handles bitmaps of PixelFormat pfDevice
- Added: Line End shapes are drawn in layer properties dialog
- Added: Text for shape combos can be disabled in layer properties dialog
- Added: Create polyline layers from a selection
- Added: Can lock background layer in TImageEnLayerMView
- Added: Save dialogs of actions will prompt to overwrite
- Added: Improved hover description for TImageEnLayerMView
- Added: No longer stores Open/Save filters in DFM unless customized


Bug Fixes
- Fixed: Buttons don't leave sufficient space for rulers
- Fixed: In some situations hand drag cursor may appear unexpectedly
- Fixed: JpegLosslessTransform2 leaves a temp file for Read-Only images
- Fixed: TIEImagelayer.create(nil) does not create image layer
- Fixed: TImageEnIO Previews dialog may not scale correctly in apps created in older Delphi versions
- Fixed: Error when using iettExplosionWipeOut effect
- Fixed: Undo may replace image of incorrect layer
- Fixed: Crop Tool does not work well with offset layers
- Fixed: TImageEnView.OnActivateTextEditor may not fire
- Fixed: Deleting Layer 0 with mask, may leave zero layers
- Fixed: Can get unexpected scrollbar with FitToWidth/FitToHeight
- Fixed: TImageEnView button hints do not hide on mouse out
- Fixed: Right and middle mouse buttons effect TImageEnView buttons
- Fixed: Drop-down lists not localized in Layer Properties dialog
- Fixed: Difficulty with drag/drop in TImageEnLayerMView if order is background first
- Fixed: When changing file types in the save dialog, it removes filename after the first period
- Fixed: Cannot print selected in MIO Print Preview if EnableMultiSelect is not enabled
- Fixed: Some issues in Layer Properties dialog when scaled fonts are used
- Fixed: miEditLayerPoints can make selection of other layers difficult
- Fixed: TImageEnFolderMView cannot navigate to desktop
- Fixed: TImageEnFolderMView does not display special folder names


Changes to Classes
- Added: TIECropToolOptions.iecoAllowPerspectiveWraps value


Compatibility Issues
- Changed: Parameters for TImageEnView.OnButtonClick event have changed. Please recreate the event handler

 


ImageEn 8.1.1 (1 October 2018)


New Features
- Added: TImageEnMView.AutoAdjustStyle to make layout changes easier
- Added: Text of TImageEnLayerMView can be customized
- Added: Text editor is activated only when double-clicking the label of a line layer
- Added: Minus cursor shown when ctrl key is pressed
- Added: Improved error message when ielib DLL is not found
- Added: BrushStep property for BrushTool Interaction
- Added: Vertical ruler uses Font.Orientation to draw rotated text
- Added: Improved styling for TImageEnProc.DoPreviews
- Added: Can now draw Previous/Next buttons on TImageEnView
- Added: Interaction hint style can be customized


Bug Fixes
- Fixed: Error when displaying multi-frame images in TOpenImageEnDialog
- Fixed: Quality filter not used for multi-frame images in TOpenImageEnDialog
- Fixed: Images larger than 2GB show wrong file size in TOpenImageEnDialog
- Fixed: Reset does not clear the color curve adjustments in TImageEnProc.DoPreviews
- Fixed: Rare A/V when printing thumbnails
- Fixed: Line layers may update size when loaded
- Fixed: Improved positioning of line layer text in SVG and PDF
- Added: Text layer draws even if layer not tall enough to fit fully
- Fixed: List index error if remove currently editing text layer
- Fixed: Copes with EXIF User Comments without defined types


Changes to Classes
- Added: TIELayer.Assign supports non-typecasted layers
- Changed: Style of TImageEnLayerMView now defaults to iemsFlatAndWide
- Added: TIEImageEnGlobalSettings.LayerShadowAlphaThreshold to improve layer soft shadow quality


Compatibility Issues
- Changed: Instead of IEDLLLoadLog, use IEGlobalSettings().DLLLoadingLog

 


ImageEn 8.1.0 (17 September 2018)


New Features
- Added: TImageEnLayerMView: Layer display component (shows preview of all layers in a TImageEnView, and allows drag/drop and other editing)
- Added: New Flood Fill Tool
- Added: Color Picker mouse interaction
- Added: Can drag select multiple layers
- Added: Print Preview dialog can be resized
- Added: Maxi Print Preview can be shown non-Maximized
- Added: Other Print Previews can be shown Maximized
- Added: Much easier to scale ruler and measurements in TImageEnView with SetScale
- Added: IEN files can be saved without the background layer (i.e. annotations only)
- Added: Cursor keys will scroll the view if no other interaction is relevant
- Added: Some improvements to TIEAcquire
- Added: Automatically maintains the sizes of shape and polyline layers when rotating
- Added: If loading with WIC and RAW_GetEmbeddedJpeg is enabled, it will load the preview image
- Added: Aspect ratio locking and border rotation supported by text layers
- Added: TImageEnView.OnUserInteraction event
- Added: Improved keyboard shift-selection in TImageEnMView
- Added: Loading EXIF from MRW (Konica) raw format
- Added: iecpCenterLeft, iecpCenterRight, iecpAuto checkbox positions
- Added: Add buttons to thumbnails in TImageEnMView
- Added: Hover hints can be customized for TImageEnMView
- Added: Keyboard shortcuts for TImageEnView can be disabled
- Added: Slippy Maps cope with insertion of params
- Added: Can now specify different Left and Right gaps for TImageEnMView
- Added: -1 can be specified for all TImageEnMView thumbnail gaps to inherit values
- Added: Unregistered Message can be automatically added to ImageEn controls and saved images
- Added: TImageEnView.MoveSelection allows resizing of selections even if they are not rectangular
- Added: New Actions: TImageEnViewLayersCropBackgroundAll, TImageEnMViewDoSavePreviewDialog, TImageEnSetLanguage, TImageEnViewColorFillTool, TImageEnViewAlphaFillTool, TImageEnViewColorPicker, TImageEnViewPromptForColor, TImageEnViewRemoveChromaKey
- Added: When printing images and thumbnails you can specify a heading
- Added: Save Contact Sheets dialog
- Added: Use ZoomFilter to improve print preview


Bug Fixes
- Fixed: TImageEnMView.OnImageLoaded does not occur when loading multi-frame images
- Fixed: LineLength may be invalid after assigning a line layer
- Fixed: Aspect Ratio may be invalid when resizing circular selections
- Fixed: Opacity not shown when exporting layers to SVG
- Fixed: Merge issues when blending layers of different pixel formats
- Fixed: Color curve may fail in 64bit app
- Fixed: LoadFromFile may fail to load URL based files without extensions
- Fixed: View may change when creating layer if autoshrink is enabled
- Fixed: When zooming, rotated image layers may have incorrect grip position
- Fixed: May lose border, soft-shadow or feathering when merging layers
- Fixed: Extra blank image is added to a TIEMultiBitmap when loading a single file image with an incorrect extension
- Fixed: Brush fails if layer 0 has been moved
- Fixed: Image layer shadow may be affected by resizing
- Fixed: May get artefacts when merging anti-aliased layers with soft shadows
- Fixed: Painting of rotated image layers can cause issues with layer insertion
- Fixed: Background of text objects may change unexpectedly
- Fixed: TImageEnIO and TImageEnProc may erroneously report that there is not an active bitmap
- Fixed: TImageEnMView may use EXIF thumbnails even not enabled
- Fixed: A/V when TImageEnMView simultaneously accesses same frame
- Fixed: ImageEn controls do not honor the Handled parameter of MouseWheel events


Changes to Classes
- Changed: Explicitly sets the intended image type when setting PixelType with a WIA source
- TIEBitmapHelper.FillWithShape method
- TImageEnMView.OnGetHint
- TImageEnMView.LeftGap and TImageEnMView.RightGap
- Changed: When fixing Layer borders it sets the border to the image (so it is correctly rotated)
- Added: TImageEnProc.AddSoftShadow, optional parameter BGAlphaThreshold
- TImageEnView.ScaleX and TImageEnView.ScaleY
- TImageEnView.LayersNameToIndex


Changes to Method Parameters
- Added: AppendAtEnd parameter for TImageEnMIO.Acquire


Compatibility Issues
- Default GridWidth for new TImageEnMViews is -1 (auto-width) instead of 0 (single row)
- TImageEnMIO.PreviewPrintImages/PrintImagesToBitmap/PrintImagesToFile have new parameters for heading. You may need to check the parameters you are using.
- Add the iexActionsLayers unit if you use ImageEn Layer actions

 

 


ImageEn 8.0.1 (10 July 2018)


New Features
- Added: Extra error checking for JpegLosslessTransform2
- Added: Can use WIC to load digital raw camera formats (without DLLs)
- Added: Can save to DirectDraw Surface format
- Added: Now Aspect Ratio locking works much better for shape and polyline layers
- Added: Native loading of specific image formats can be overridden to use WIC instead
- Added: Restore Aspect Ratio in Layer Props dialog
- Added: ielEditedProps event for layers


Bug Fixes
- Fixed: FindFileFormat may not recognize some JPEG files
- Fixed: Cannot use TImageEMView.Proc.TextOut()
- Fixed: Annotations don't print for B+W images
- Fixed: Undefining Actions makes uncompilable
- Fixed: Unable to load lossless compressed DICOM
- Fixed: Cancelling property dialog may affect order or polyline points
- Fixed: Double-clicking to end polyline insertion may trigger property dialog
- Fixed: ImageCount is not set when loading via WIC
- Fixed: Errors loading IEN files containing Line layers
- Fixed: Layers may move when CropAlpha() is used
- Fixed: Issues with rfFastLinear filter


Changes to Classes
- Removed: TImageEnProc.TextOut_Legacy method


Compatibility Issues
- Instead of IEGlobalSettings().UseLibRaw use IEGlobalSettings().CameraRawEngine
- Setting TIELayer.AspectRatioLocked no longer resets the AR of the layer (instead locks to current AR)

 


ImageEn 8.0.0 (1 July 2018)

New Features
- Added: Eraser brush tool
- Added: reading of 32 bit floating point TIFFs
- Added: Compositing of Alpha channel when using a transparent brush
- Added: Use of EXIF date as file creation date is now optional
- Added: Improved performance when using clone and brush tools
- Added: Can now set the painting mode for transparent brushes
- Added: Clone painting is now continuous (i.e. smoother even when moving the mouse quickly)
- Added: Color curve editing component
- Added: Image colors can now be manipulated using a curve in Previews dialog
- Added: Improved styling for TImageEnProc previews dialog
- Added: Resizing of circular and polygon selections
- Added: Optional minimum sizes when resizing selections
- Added: Improvements to TImageEnView Rulers, particularly styling and performance
- Added: Three new ruler grip styles
- Added: When merging layers, layer rotations will be automatically applied
- Added: Text output when previewing thumbnail printing
- Added: Improvements to drawing of text when thumbnail printing
- Added: Output of contact/thumbnail sheets to bitmap
- Added: Always prints with a default title
- Added: Headings can be added when printing images and thumbnail sheets
- Added: PDF saving supports image alpha channel
- Added: Maintains aspect ratio when printing at a specific size
- Added: TIEPDFBuilder class to create scalable Adobe PDF documents
- Added: Images with Layers can now be exported as scalable PDF documents
- Added: Obtains highest quality image when printing from TImageEnMView
- Added: Optimized RGB to CMYK conversion
- Added: Shape drawing performance improved with GDI+ painting for supported shapes
- Added: Forty new shapes for TIEShapeLayer: Candy, Sun, Cog, Brooch, Flower, Splat, Crown, Tag, Pin, Radiance, Raindrop, Smile, Rainbow, Marker, Banner, Power, Music, Pointing Hand, Female and Male
- Added: Text and line layers now support many more border shapes
- Added: Margin properties for text and line layers
- Added: Text is now wrapped as needed when exporting layers to SVG
- Added: WordWrap property for text layers
- Added: GDI+ text drawing in histogram, interaction hints, animation
- Added: Improved styling of ImageEnView hover hints
- Added: New properties to use WIC to speed up loading of JPEGs (200% faster) and PNGs (30% faster)
- Added: IEGlobalSettings().DefaultLayerShape
- Added: Layers are now shown as they are created (instead of created on mouse-up)
- Added: JPEG loading properties included in IEGlobalSettings().IOParamDefaults
- Added: Drawing of line and polyline layers by points
- Added: Editing of line and polyline points
- Added: Calls to TIELayer.Bitmap are now cached for better performance
- Added: Clicking a transparent area of a layer no longer selects it (optional)
- Added: Line labels can auto-flip to ensure text is always upright
- Added: New mouse interact to measure lengths in an image
- Added: miRotateLayers can now be used in combination with other layer editing interactions
- Added: Can automatically shrink text in layers to fit in available space
- Added: New method to add a curve to a polyline layer
- Added: Curved lines can be added to polyline layers by holding Alt key when editing
- Added: TImageEnProc can be selected without being attached to a TImageEnView
- Added: If undefine TActions all relevant language consts are undefined too
- Added: If undefine TImageEnVect all relevant language consts are undefined too
- Added: Many improvements and optimizations for TImageEnView Mouse Interactions
- Added: New Shift Lock property to force behaviours using Ctrl, Alt or Shift keys
- Added: GetMetaData option, which can be disabled to speed up loading
- Added: Keyboard shortcuts for layers
- Added: Can measure rectangular and elliptical areas
- Added: IO.PreviewPrintImage supports printing of layers and annotations
- Added: TIEPolylineLayer supports gradients
- Added: Many more gradient types supported by TIELayers
- Added: Use GDI+ for drawing of all shapes (better performance, full rotation, and gradient support)
- Added: TImageEnView.Select, SelectEllipse, SelectChromaKey, SelectRoundRect and SelectColors support selection subtract
- Added: All shapes can now be point rotated
- Added: TIOParams.OptimizeLoadingParams to set the best properties for fast loading
- Added: TIELayer.ConvertToPolylineLayer
- Added: ImageEn can now retrieve embedded JPEG images from camera raw files of guaranteed size. This is also used to speed up thumbnail display in TImageEnMView
- Added: Can hold Ctrl key to subtract from the current selection
- Added: LayersAdd and LayersInsert overloads for layer cloning
- Added: Dozens of new actions: EraserTool, ConvertToPolylineLayer, MeasureLength, MeasureRect, MeasureEllipse, ZoomAndScroll, EditLayers, EditLayerPoints, ClickCreateLineLayers, ClickCreatePolylineLayers, DrawCreatePolylineLayers, LayerFontSelect, LayerFontEnlarge, LayerFontReduce, LayerAlign, Layer Properties, etc.
- Added: Layer index property is read/write
- Added: TImageEnMView.AssignLayers now uses caching for speed
- Added: Layer support can be undefined
- Added: Layer Properties dialog available for setting common style and other settings
- Added: Debugging for DLL loading
- Added: TImageEnView now supports Arcs from TImageEnVect and DXF files
- Added: TImageEnVect to TIELayers transition guide
- Added: Moved Dicom tags to optional ieDicomTags unit to reduce EXE size by about 400KB
- Added: TImageEnMView.MultiSelectedImages now automatically sorts into display order
- Added: TIEColorButton color selection control
- Added: When saving to an image with LayersSave actions it saves a merged version of image
- Added: Layers Open/Save actions prioritize layer formats
- Added: Open/Save dialog can give priority to layer formats
- Added: TIEColorPalette can now show just used colors in image
- Added: ImageEn can load all formats supported by WIC, such as DirectShow Draw (*.dds)
- Added: Option to limit layer movement to background layer


Bug Fixes
- Fixed: Does not save undo, when using clone tool after a prior undo
- Fixed: DirectShow video input may not be selected
- Added: AV on wrong IEVision or IELib version
- Fixed: Daylight savings time may affect displayed file dates
- Fixed: Excessive repainting when rulers are visible
- Fixed: TImageEnVect text objects may paint font with wrong color
- Fixed: Brush tool stamp mode does not work correctly
- Fixed: wrong colors saving jpegs in RGB color space, on 64 bits (or using ielib.dll)
- Fixed: UpdateRect doesn't work setting ZoomFilter
- Fixed: Saving ICO with non binary alpha channel produces artifacts
- Added: Better Twain driver exception handling
- Fixed: TImageEnMView.AssignLayers outputs in order different from documentation
- Fixed: Selected thumbnail in TIamgeEnMIO PrintPreview may get oversized soft shadow
- Fixed: Odd selection after loading layers file
- Fixed: TImageEnProc.Flip doesn't work with all pixel formats
- Fixed: Transparency issue when using GetIEVisionImage
- Fixed: SVG loading via ImageMagick not working
- Fixed: Installer may not write C++ library path
- Fixed: Layers may move relative to each other if LayersFixRotations(0) is called
- Fixed: Slow performance when first layer is not a visible image
- Fixed: Changing TIEBitmap.MemoryAllocated may crash ImageEn
- Fixed: Use of ALT key may make circles and square objects draw in wrong direction
- Fixed: Images layers odd size if add after a non-image layer
- Fixed: LayerBox not drawn for non-image layers
- Fixed: Invisible layers become visible on merge
- Fixed: TIEShapeLayer.ShapeModifier does not function
- Fixed: LibRaw, loading of embedded jpeg when no thumbnail exists
- Fixed: Zoom actions not enabled if non-image layer is selected
- Fixed: miZoom interaction does not work if Layer 0 is not selected
- Fixed: CropSel with ie8p pixel format does not work
- Fixed: Frame order may change if using TImageEnMIO.SaveToFile* methods with SelectedOnly parameter
- Fixed: TOpenImageEnDialog returns corrupted filenames selecting many files
- Fixed: Odd resizing when multiple layers selected
- Fixed: DICOM wrong colors loading 16 bit colormapped images
- Fixed: DICOM unable to read uncompressed YBR images


Changes to Classes
- Added: ieaeScroll to TImageEnMView.OnAfterEvent
- Changed: Undo is now saved for each clone action
- Changed: When saving ico file with TImageEnIO it uses the current image size if an icon size has not been specified
- Added: TImageEnMView.OnBeforeDrawLayer
- Added: TIEDirectShow.GraphBuilder property
- Added: TIEVisionGrabCut.setSelectionMask optional maskIsInside parameter
- Added: TIOParams.RAW_OutputColorSpace property
- Added: TIOParams.RAW_UserWhiteBalance property
- Added: TIESelOp.iespSubtract value
- Added: TIOParams.RAW_GetEmbeddedJpeg property
- Added: TImageEnView.OnLayersNotifyEx event
- Added: TImageEnView.OnShowDialog event
- Added: TImageEnMView.OnShowDialog event
- Added: TIEPolylineLayer.CalculateLength and TIEPolylineLayer.CalculateArea
- Changed: TIELayer.ClientAreaBox is read/write
- Added: ShowFormats parameter for TImageEnIO.ExecuteOpenDialog and ExecuteSaveDialog
- Added: TImageEnMView.SelectedFilename and SelectedFilenames


Changes to Method Parameters
- Added: TextPos and Reversed parameters for TImageEnMView.AssignLayers


Compatibility Issues
- TImageEnMView.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.
- TImageEnIO/TImageEnMIO.PrintImagePos/DoPrintPreviewDialog: When printing at a specified size, the aspect ratio of the image will be maintained. Set PrintingMaintainAR to false to prevent this
- Deprecated TImageEnMView.TrackMouseSelection. Use iemoHideSelectionRect of TImageEnMView.MultiSelectionOptions instead
- TImageEnView.OnDrawLayerBox now uses a TCanvas rather than a TIEBitmap. Remove existing event and add event handler again
- Layer creation interactions for TImageEnView.MouseInteract now create the layer immediately rather than mouse up. Check any code that is called in OnNewLayer
- Deprecated TImageEnView.ForceALTkey, use TImageEnView.ShiftKeyLock
- FillGradient property for layers are now of type, TIELayerGradient, instead of TIEGradientDir. Change gdVertical to grdVertical and gdHorizontal to grdHorizontal
- Removed Supported_Generate_Points_Shapes. All shapes now supported by points
- Removed TImageEnView.AnimPolygonDel method
- Removed TImageEnView.AnimPolygonNew method
- Removed TImageEnView.AnimPolygonClear method
- Removed TImageEnView.AnimPolygonAddPt method
- Removed TImageEnView.AnimPolygonEnabled method
- TImageEnView.OnLayerSelectionChange also fires on programmatic changes
- Removed: TIEDicomTags.GetTagDescription, use IEGetDicomTagDescription in ieDicomTags unit instead
- TImageEnMView.MultiSelectedImages is now sorted by display order. To prevent auto-sorting (maintain order they were selected), set ImageEnMView1.MultiSelectedImagesAutoSort := False;

 


ImageEn 7.5.0 (13 Dec. 2017)

New Features
- Added: Auto fit options can be automatically disabled when zooming (using iedoDisableAutoFitWhenZoom)
- Added: Improved dialog layout when Windows is set to high DPI
- Added: Optimized XMP loading
- Added: Selection of background using Chroma Key algorithm
- Added: Mouse interact to select subject or background in Chroma Key image
- Added: When sorting a TImageEnMView by filename only, it handles number only filenames better
- Added: When loading PDF files via WPViewPDF you can optionally specify image dimensions and password
- Added: TImageEnIO.LoadFromFilePDF so image dimensions and password can be specified (requires WPViewPDF plug-in)
- Added: Various improvements to TIEColorPalette
- Added: PSD, reading and writing Exif tags
- Added: Can set defaults for some TIOParams load properties
- Added: Filename filtering for TImageEnMView and TImageEnFolderMView
- Added: Can specify the sample size for Magic Wand selection
- Added: Gradient, Alpha and Graduated Alpha fills for TIEBitmap and TImageEnProc
- Added: All settings are saved for TImageEnProc preview dialog
- Added: Optional support for LibRaw libray to decode Raw file formats
- Added: Anti-aliasing of selections in TImageEnView
- Added: ImageEn properties are now categorized in Object Inspector
- Added: IOParams.ImageCount contains number of images contained in a multi-shot raw file (with LibRaw enabled)
- Added: IOParams.ImageIndex can select which image to load from a multi-shot raw file (with LibRaw enabled)
- Added: PSD files can be saved and loaded without embedded merged images (i.e. support files saved in Photoshop with Max Compatibility turned off)
- Added: Sizeable cursors can be set for TImageEnView (e.g. for brush painting)
- Added: New interactive cloning tool to erase unwanted content
- Added: New interactive brush tool to paint images
- Added: Five interpolation qualities when decoding RAW (with LibRaw enabled)
- Added: CropTool selection can now respect the boundaries of the image
- Added: New Actions: TImageEnViewCloneTool, TImageEnViewBrushTool, TImageEnViewSprayTool, TImageEnViewRotateTool, TImageEnViewRotateAndCropTool, TImageEnViewShowGuidelines
- Added: New interactive rotation tool to freely rotate and flip images
- Added: THistogram no longer stateless


Bug Fixes
- Fixed: Text backgrounds may not be correct for line labels when exporting to SVG
- Fixed: Copying to clipboard may not include alpha channel
- Fixed: PSD may be saved with invalid header
- Fixed: Not painting when moving layers and rulers are used
- Fixed: AV loading some JP2K files using ielibXX.dll
- Fixed: AV loading EXE processed by exe-compressors
- Fixed: UpdateRect may work incorrectly when TImageEnView.BackgroundStyle is iebsChessboard
- Fixed: AV setting TIEBitmap.Origin on alpha channel
- Fixed: TWainParams.SelectedSource doesn't work correctly
- Fixed: Saving to PSD writes invalid layer names
- Fixed: SelectionMaskDepth may be invalid after loading selection from file
- Fixed: Unfiltered resample operations affected by rounding
- Fixed: Some TImageEnView methods fail if LegacyBitmap = False
- Fixed: Wrong image sizes capturing multiple pages from Twain sources
- Fixed: No longer initialize OLE on creation when used in a DLL


Changes to Classes
- Changed: Moved uncommon TImageEnView properties to DisplayOptions: ZoomSelectionAspectRatio, OffScreenPaint
- Added: TImageEnView.OnUndoRedo and TImageEnMView.OnUndoRedo
- Added: TIEColorPalette.OnAfterPaintCell
- Added: TIEColorPalette.RightClickSelection
- Added: TIEColorPalette.OnClickCell called even when right-mouse button used
- Added: TImageEnView.UpdateRect optional UpdateNow parameter
- Added: TImageEnMView.OnChanged
- Added: TImageEnMView.OnCreateParams
- Added: iemoForceCTRLKey item for TImageEnMView.MultiSelectionOptions
- Added: TIEImageEnGlobalSettings.UseLibRaw property
- Added: TIOParams.RAW_AutoBright property
- Added: TIOParams.PSD_HasMergedImage property
- Added: TIOParams.RAW_Interpolation property
- Added: TIOParams.RAW_GammaToeSlope property
- Added: TIOParams.RAW_Highlight property
- Added: TImageEnMView.FillFromList and TIEMultiBitmap.FillFromList


Compatibility Issues
- Now ImageEn checks for correct ielib.dll and ievision.dll library version
- When setting EXIF_GPSLatitude or EXIF_GPSLongitude, it automatically sets EXIF_GPSVersionID which will force saving of EXIF GPS data fields
- Exposed TIOParams.IsNativePixelFormat as NativePixelFormat property
- LegacyBitmap now defaults to False for all TImageEnView and TImageEnVect. If your code accesses ImageEnView1.Bitmap, it will automatically set ImageEnView1.LegacyBitmap := True;

 


ImageEn 7.0.1 (24 Aug. 2017)

New Features
- Added: Layer notifies advises of click events
- Added: IEN format is registered in VCL for use by TImage
- Added: TImageEnProc.RemoveIsolatedPixels now considers diagonal pixels as connected
- Added: New conditional defines: IEINCLUDEIEVECT, IEINCLUDEIMAGEENANNOT, IECanRegisterTPictureFormats, IEINCLUDEIEN, IEINCLUDEMETAFILES, IEINCLUDEICOWRITING, IEINCLUDESVGWRITING
- Added: Can now specify which meta-data items to clear with TIOParams.ResetInfo
- Added: Performing Proc action on a TImageEnMView item now only refreshes that image
- Added: PDF Images are now registered as a graphic class in VCL if TIEWPCubedPDF plug-in is used
- Added: Does not remove ICC Profile marker when using ResetInfo (unless ierICC is included)
- Added: Layer operations are supported when saving/loading to PSD (as PSD Blend Modes)
- Added: Text can now be placed above or below lines in TIELineLayers
- Added: Better calculation of padding when using end shapes for TIELineLayers
- Added: Unfilled Arrow, Reverse Arrow, Diamond and Bar line end shapes for TIELineLayers
- Added: TIELineLayers can be used as rulers
- Added: Ruler objects can be copied to/from TImageEnVect


Bug Fixes
- Fixed: Scrollbars not themed for TIEColorPalette
- Fixed: GetIdealZoom may not take edges into account
- Fixed: Some conditional defines do not compile
- Fixed: Some issues using LayersCreateFromSelection when selected layer is offset
- Fixed: Invalid value set for SizeBytes property of TIEPortableDevices.GetObjectAdvancedProps
- Fixed: Fails when loading TIEVirtualImageList or Snapshot of TIEMultiBitmap and TImageEnMView on Unicode Delphi
- Fixed: May not be able to apply perspective selection with CropTool (depending on lock settings)
- Fixed: CropTool does not support alpha channel when using Perspective
- Fixed: Small memory leak in TOpenImageEnDialog with locked files
- Fixed: Crash acquiring from Twain on some devices
- Fixed: LayersCreateFromSelection clears the saved selection
- Fixed: If the scrollbar visibility is changed during an update, the layout may not be correct until the next update
- Fixed: Under 64bit, A/V when loading TIFF with imaging annotations
- Fixed: Multiple lossless jpeg rotates causes A/V
- Fixed: May not load from stream correctly when using ImageMagick plug-in
- Fixed: Wrong colors loading TIFF-Jpeg (old standard) images using ielib.dll
- Fixed: Excessive redrawing when ImageEnView rulers are visible
- Fixed: Text layer may not show text if alignment is not left and it is rotated to some angles
- Fixed: Plain text Wang annotations may be corrupted
- Fixed: Unable to select Feeder as source via WIA with visible dialog
- Fixed: Caching to file not enabled by default in TIEMultiBitmap
- Fixed: Some issues with TIELineLayer when zooming


Changes to Classes
- Added: TImageEnView.LayersEditingLayer
- Added: TImageEnFolderMView.OnAutoRefresh
- Added: TIEImageEnGlobalSettings.TwainCropBufferedTransferedImage property
- Added: Can specify file type with TImageEnIO.SaveToFile, TIEBitmap.Write and TIEMBitmap.Write
- Added: TImageEnMView.CurrentScrollBars
- Added: TIEImageEnGlobalSettings.DICOMKeepMainImageTag to keep DICOM main image tag
- Added: TIEMarkerList.ClearExcept method
- Added: InsertImage and AppendImage methods for streams now include a FileFormat parameter
- Added: TIEImageEnGlobalSettings.UTF8EncodeImagingAnnot
- Added: TImageEnView.OnRulerGetText


Compatibility Issues
- Changed: Video for Windows components are no longer compiled by default. If needed, define in ie.inc with files from the \Legacy\ folder

 


ImageEn 7.0.0 (8 Apr. 2017)

New Features
- Added: CropTool can be locked to specific sizes
- Added: Symmetric Neareast Neighbour smoothing filter
- Added: Side grips of CropTool can be set to honor Aspect locking
- Added: Pixelize effect
- Added: TImageEnProc.CalcImageNumColors works on all pixel formats (natively ie24RGB and ie1g)
- Added: Pencil Sketch effect
- Added: Improved Russian translations
- Added: Can now hide deprecated by methods by version number
- Added: 40 new shapes for IEDrawShape/IECreateShapeRegion
- Added: Rotation support for IEDrawShape/IECreateShapeRegion
- Added: Can specify custom shapes for transition effects
- Added: TImageEnView.LayersFastDrawing property to speed up layer drawing
- Added: Rewritten TImageEnProc.RemoveIsolatedPixels algorithm
- Added: Proc.TextOut now uses GDI+ even for rotated text
- Added: Consts can be passed to Layer.PosX/PosY to quickly center or align
- Added: Borders can be applied to image layers
- Added: New layer types for TImageEnView: text, shape, line and polyline layers
- Added: TImageEnIO support for ImageEn native image format
- Added: TImageEnView.Layers to import objects from TImageEnVect IEV, ALL or DXF files as layers
- Added: TIETwainParams.IsCapabilitySupported method to check if a Twain capability is supported
- Added: Much improved clipboard handling
- Added: IECompareImages and TImageEnProc.CompareWith now supports all pixel formats
- Added: TImageEnView.LayersCropBackground
- Added: Forty new layer and other TActions
- Added: Some optimization to initialization of TImageEnView
- Added: DICOM, supported some 32 bit gray scale images (as ie32f pixel format)
- Added: Loading of encrypted PDF files in WPViewPDF
- Added: Layers can be saved and loaded to JPEG and TIFF EXIF data (using Params.ImageEnAnnot)
- Added: Layers can be saved and loaded as TIFF Wang annotations (using Params.ImagingAnnot)
- Added: Styling improvements for TImageEnMView
- Added: Full support for VCL theming (XE2 and newer)
- Added: Print methods can print layers, imaging and ImageEn annotations
- Added: Layer properties can now be set for all selected layers
- Added: Exporting of layers and objects to SVG (Scalable Vector Graphics)
- Added: Now supports RAD Studio 10.2 Tokyo
- Added: Improved layout of Proc Previews dialog
- Added: Improved BMP reader
- Added: TImageEnMView.Assign supports TImageList
- Added: TImageEnMView.SetImageSize can specify size of images
- Added: Documentation now includes an index
- Added: THistogramBox.Scale to plot linear, linear clipped and logarithmic scaled histograms
- Added: Histogram in Proc Previews dialog, added scale combobox
- Added: TImageEnView.Modified


Bug Fixes
- Fixed: Odd colors when load uncompressed DICOM RGB images
- Fixed: ImageEnView cursors may not auto-set as relevant
- Fixed: TImageEnView.ZoomFilter now doesn't change inside MouseDown/MouseUp events
- Fixed: Unable to load some GIF files
- Fixed: Slow ARW find file format by content
- Fixed: Added Nikon Coolpix S50 maker tags detection
- Fixed: TImageEnProc.CalcImageNumColors always returns 2 on black/white images
- Fixed: TDBImageEnVect may not update database for objects added via AddNewObject()
- Fixed: Slow ARW loading
- Fixed: TImageEnView.IsEmpty2 may give incorrect results when multiple layers are used
- Fixed: TImageEnFolderMView may not display IEF_Desktop_Folder or IEF_Drives_Folder
- Fixed: TImageEnProc.TextOut_Legacy does not support both angle and text alignment
- Fixed: Clicking background does not deselect layer if multiple selection is disabled
- Fixed: Use of LYR_SELECTED_LAYERS with LayersMove() fails if multiple selection is disabled
- Fixed: TImageEnMView.Acquire locks up when scanner jams
- Fixed: TImageEnProc.HSVvar and HSLvar incorrectly handles gray scale values
- Fixed: May not print when using TActions
- Fixed: rfNone image stretching may not process last column/row
- Fixed: Maxi print preview may not used specified measurement unit
- Fixed: Corruption when LayersRotationFilter ierBicubic or ierBilinear on not RGB24 images
- Fixed: EXIF data not assigned when acquiring via WPD
- Fixed: May get flickering when using run-time themes and borders are disabled
- Fixed: Some panels in ImageEn open dialog are not themed
- Fixed: ImageEn prevents selection of Ctl3D borders (now allowed, but not default)
- Fixed: TIEAcquireParams.FindSourceByName fails with WIA devices
- Fixed: Ugly initial view for TImageEnView Rulers
- Fixed: Preview button in Open dialog fails if "Show Preview" not checked
- Fixed: May fail to load layer files saved with JPEG compression
- Fixed: IsEmpty2 does not return false on startup
- Fixed: Histogram not blank for blank image


Changes to Classes
- Added: TImageEnProc.SymmetricNearestNeighbour method
- Added: TImageEnProc.Pixelize method
- Added: TImageEnProc.PencilSketch method
- Changed: IEPDFFrameCount uses plug-ins if available in preference to internal code
- Added: TIEImageEnGlobalSettings.BufferedReadStreamSize property
- Added: THistogramBox.Clear
- Added: TImageEnView.LayersInsert now has all overloads of LayersAdd
- Added: IEGlobalSettings().EXIFMakerNotesHandling to decide behavior on unsupported MarkerNotes
- Removed: TImageEnView.LayersSync property
- Added: TImageEnView.CropToolInteraction.Selected property
- Added: Helper methods: IEPointsToPaperSize and IECalcPaperSize
- Added: RemoveIsolatedPixels supports progress
- Added: TIELayer.Tag property
- Added: TImageEnVect.CopyAllObjectsTo allows copying objects to a TImageEnView as layers
- Added: TIEBitmap.CopyToClipboard
- Added: New Action: TImageEnViewCutToClipboard
- Added: TImageEnView.OnLayerSelectionChange
- Changed: TImageEnView.XScr2Bmp, YScr2Bmp, XBmp2Scr and YBmp2Scr take care of current layer bitmap position and size
- Added: Forty new layer actions: TImageEnViewMouseCreateImageLayers, TImageEnViewMouseCreateShapeLayers, TImageEnViewMouseCreateLineLayers, TImageEnViewMouseCreatePolylineLayers, TImageEnViewMouseCreateTextLayers, TImageEnViewLayersPromptToOpen, TImageEnViewLayersSave, TImageEnViewLayersPromptToSave, TImageEnViewLayersAlignLeftEdges, TImageEnViewLayersAlignRightEdges, TImageEnViewLayersAlignTopEdges, TImageEnViewLayersAlignBottomEdges, TImageEnViewLayersAlignHorizontalCenters, TImageEnViewLayersAlignVerticalCenters, TImageEnViewLayersMatchWidth, TImageEnViewLayersMatchHeight, TImageEnViewLayersCropBackground, TImageEnViewLayersFastDrawing, TIELayerAspectRatioLocked, TIELayerLocked, TIELayerRestoreAspectRatio, TIELayerSizeToFit, TIELayerSoftShadow, TIELayerVisible, TIEImageLayerRestoreSize, TIEImageLayerExecuteOpenDialog, TIEPolylineLayerPolylineClosed, TIELayerRotateLeft, TIELayerRotateRight, TIELayerConvertToImageLayer, TImageEnViewImageLayersAdd, TImageEnViewShapeLayersAdd, TImageEnViewLineLayersAdd, TImageEnViewPolylineLayersAdd, TImageEnViewTextLayersAdd, TIELayerEditText, TIELineLayerShowLabel, TIELayerResetRotate, TIELayerCropped
- Added: Other new actions: TIEFolderMViewIncludeSubFolders, TImageEnViewCropToolEnable, TImageEnViewCropToolEnactCrop, TImageEnViewCropToolCancelCrop, TImageEnViewClearAll
- Added: TImageEnMView.AssignLayers to display ImageEnView layers in a TImageEnMView
- Added: Rect overloads for TImageEnProc.TextOut
- Added: TIEBitmap.SyncAlphaChannel to make it easier to assign alternative sources for alpha channel
- Added: TIEBitmap.RenderToCanvas optional BackgroundColor parameter to render images with transparency
- Added: IEGlobalSettings().PreviewImageBackgroundStyle affects Print Preview dialog
- Changed: TImageEnMView Unpublished and documented: MissingFileIcon and DefaultFileIcon
- Changed: TImageEnMView Published: ShowThumbnailHint, SelectedFontColor, ThumbnailResampleFilter, ThumbnailDisplayFilter
- Changed: TImageEnView Published: MouseWheelParams, AutoCursors
- Changed: TImageEnView Unpublished: CropToolInteraction, UserInteractions
- Added: TIEImageEnGlobalSettings.DefaultPreviewHistogramScale property


Changes to Method Parameters
- Changed: TImageEnProc.CopyToClipboard
- Changed: TImageEnProc.PasteFromClipboard


Compatibility Issues
- TIELayer class moved to iexLayers unit
- Although backwardly compatible, TIEImageLayer should now be used for image layers
- DrawCustomShape/CreateCustomShapeRegion/TXCustomShape have been deprecated. Use new IEDrawShape/IECreateShapeRegion/TIEShape instead
- TImageEnView.LayersRotationDelayFilterOnPreview has been deprecated. Instead use TImageEnView.LayersFastDrawing = iefDelayed;
- TImageEnView.LayersCreateFromText has been deprecated. Instead use TImageEnView.LayersAdd Text overload
- TImageEnView.Layers are no longer created at position (0,0), they are given a default position which increments with each new layer
- TImageEnView.GetFitValue: now also considers any layers that lie outside the background image (layer 0)
- TImageEnView.MaxLayerWidth/MaxLayerHeight: result now now also includes any layers that lie outside the background image (layer 0)
- TImageEnView.LayersSync property has been removed
- By default, ImageEn no longer displays warnings for deprecated methods

 


ImageEn 6.3.2 (2 Sep. 2016)

New Features
- Added: Detects WMV and MPEG files by extension in TImageEnMView


Bug Fixes
- Fixed: Bug may cause Preview dialog display to fail

 


ImageEn 6.3.1 (1 Sep. 2016)

New Features
- Added: TIEColorPalette for palette display and selection
- Added: Pressing SHIFT key in Crop-tool will rotate by 15 degrees steps
- Added: TImageEnProc.Crop overload to adjust perspective distortion
- Added: Crop-Tool can perform perspective crop
- Added: Crop-tool maintains rectangle aspect ratio pressing ALT key or using LockAspectRatio
- Added: TIEDictionary is case insensitive by default (affects i.e. TImageEnView.IO.Params.Dict)
- Added: TIEDicomTags is sortable
- Added: Reading DICOM sequences are never sorted
- Added: Support for ImageMagick 7
- Added: Support reading of TIFF 16 bit gray scale, multiple channels (additional channels are discarded)
- TImageEnView: LayerMergeTo is able to merge a layer with its own layer mask
- TImageEnView: Second overload of LayersMerge is able to merge a layer with its own layer mask
- Added: Can use cursor keys to move a layer or selection in TImageEnView (Shift for faster movement)
- Added: Can use Ctrl + cursor keys to resize a layer or selection in TImageEnView (Shift for faster resizing)
- Added: Media Foundation Acquisition: added aspect ratio dictionary property (to determine aspect ratio of source)
- Added: IEApplyAlphaToColor method
- Added: Various improvements to TRulerBox, particular when scaling
- Changed: iebsCropped background style uses non-3D borders if windows theming is enabled
- Added: Rulers can be displayed on a TImageEnView by enabling a single property
- Added: New ruler actions: TImageEnViewShowRulers, TImageEnViewRulerUnitPixels, TImageEnViewRulerUnitInches, TImageEnViewRulerUnitMillimeters, TImageEnViewRulerUnitCentimeters


Bug Fixes
- Fixed: When calling TImageEnView.ChangeResolution() it updates the layer position
- Fixed: Weird effect when saving EMF file
- Fixed: DivByZero error when loading into TImageEnVect and DPI not set
- Fixed: May not compile using IEUseLegacyUndoFunctionality
- Fixed: AutoImageEnhance3 doesn't support alpha channel
- Fixed: Wrong colors reading jpeg-RGB images using ielib.dll
- Fixed: Problems reading uncompressed and black/white DICOM
- Fixed: Objects not freed in TImageEnIO.CaptureFromScreen
- Fixed: Angle and ruler objects painted incorrectly calling TImageEnVect.CopyObjectsToBack
- Fixed: Floating point error if zoom too much in Preview dialog
- Fixed: Zoom may not be corrected when switching tab in Preview dialog
- Fixed: Excessive selection flashing when displaying the Crop tab of preview dialog
- Fixed: Mouse wheel zooming permitted in some tabs of Preview dialog where zoom is disabled
- Fixed: Unexpected zoom level when changing tabs in Preview dialog
- Fixed: AV using layer mask when the associated layer does not have an alpha channel
- Fixed: AV loading some jpegs with XMP and assigning IOParams
- Fixed: TImageEnView.LayersRepositionAll would move layer in opposite direction to documentation
- Fixed: TImageEnView.LayersAlign fails if only one layer selected
- Fixed: Slow performance of TImageEnProc.TextOut overload
- Fixed: Uses StyleServices, rather than older ThemeServices
- Fixed: Corners get cut-off when call LayersFixRotations with bilinear anti-alias
- Fixed: TImageEnProc.Rotate, corners get cut-off when antialias is bilinear
- Fixed: Crash with LoadSnapshot
- Fixed: OnFinishWork not called after loading from user format
- Fixed: Background for iebsBlurredImage may not be painted initially
- Fixed: TIFF DPI is wrong if EXIF_ResolutionUnit is CM
- Fixed: TIEMultiBitmap may not store meta-data to blob


Changes to Classes
- Added: TIECropToolInteraction.RotatedBitmapPolygon property
- Added: TIECropToolInteraction.Mode property
- Renamed: TIECropToolInteraction.BitmapRectangle to BitmapPolygon
- Renamed: TIECropToolInteraction.RotatedRectangle to RotatedPolygon
- Renamed: TIECropToolInteraction.SetBitmapRectangle to SetBitmapPolygon
- Renamed: TIECropToolInteraction.ScreenRectangle to ScreenPolygon
- Added: PrintSelected property to TIOPrintPreviewParams
- Added: TIOParamsHelper.DICOM_FindTag()
- Added: Don't need to call Update() after setting text in an TImageEnMView
- Added: CropToolInteraction.LockAspectRatio to lock aspect ratio
- Changed: Zoom always 100% in resize tab of Preview dialog
- TIEBitmap.DetachAlphaChannel: Added CreateIfNotExists optional parameter
- Added: TIEDicomTags.Sorted property
- Added: TIESlippyMap.OnBeginWork/OnFinishWork events
- Added: TIEPortableDevices.Cancel
- Added: TImageEnView.SelectNonAlpha


Changes to Method Parameters
- Added: TImageEnView.LayersAlign includes an Index parameter
- Added: TImageEnView.LayersSizeAll includes a ScalePosition parameter
- Added: TImageEnView.LayersLoadFromFile/LayersLoadFromStream include Append parameter


Compatibility Issues
- See renamed TIECropToolInteraction methods and properties in Updating and Compatibility section
- Now uses themed borders by default
- TIOParams.LoadFromFile/LoadFromStream is incompatible with TIOParams.SaveToFile/SaveToStream from earlier versions, unless CheckMagicString parameter is set to false
- Parameters have changed for TRulerBox events: OnRulerPosChange/OnRulerGripClick/OnRulerGripDblClick/OnRulerClick. Remove old event handler and recreate

 


ImageEn 6.3.0 (4 May 2016)

New Features
- Added: New procedure to reduce colors using a particular palette
- Added: Undo now provides more readable (and localizable) captions
- Added: When using UndoAt/RedoAt the entire history is transferred to Redo/Undo
- Added: Complete Spanish translation
- Added: Complete Russian translation
- Added: now curved text stretch can be disabled
- Added: RAW loading supports EnableAdjustOrientation property
- Added: AutoImageEnhance3 supports alpha channel
- Added: TImageEnProc.Crop overload to crop rotated rectangles
- Added: Crop-tool to TImageEnView (use TImageEnView.MouseInteract to enable)
- Added: Now supports 10.1 Berlin
- Added: Improved styling and graphics of installer
- Added: TImageEnProc.Wave supports alpha channel and ie8g, ie32RGB, ieCMYK pixel formats
- Added: New "Updating and Compatibility" help section


Bug Fixes
- Fixed: UndoAt/RedoAt do not transfer entire undo/redo history to redo/undo
- Fixed: Floating point errors may occur when using DirectShow
- Fixed: Rare loading issue with some BMP causing offset
- Fixed: If disable English, some strings may be blank
- Fixed: Some rare TIFFs may cause AV
- Fixed: When language is msSystem then untranslated strings may not show
- Fixed: GIFs do not animate on Unicode Delphi
- Fixed: ioJPEG_GRAYLEV outputs as monochrome
- Fixed: Slow fill of TImageEnMView when using animations
- Fixed: Need to force a select to rotate a layer (disconnect from what is indicated by cursor)
- Fixed: After rotation, when change to different mouse interact, rotate cursor remains
- Fixed: Odd situation where FormActivate is called twice during Print Preview
- Fixed: Issue saving 16 bit grey-scale images to GIF
- Fixed: Text blocks may not be calculated correctly after TImageEnMView.LoadFromSnapshot
- Fixed: Memory corrupted using TIERFBClient and Unicode compiler
- Fixed: Zlib compressed TIFFs, improved reliability on corrupted datastream using VCL ZLIB
- Fixed: AV rendering on segmented bitmaps
- Fixed: Folder permissions may not be set for IEVision demo installation files
- Fixed: TImageEnVect.CreateImageFromSelectedArea does not support alpha
- Fixed: TImageEnProc.Wave creates wrong results
- Fixed: Some spacing issues in localized versions
- Fixed: Loading black/white PSD with Width which is not multiple of 8 loses most right columns
- Fixed: Accessing TIEBitmap.Canvas sets TIEBitmap.Modified


Changes to Classes
- Added: TImageEnProc.ConvertTo overload
- Added: TImageEnVect.AddPolyLinePoint and RemovePolyLinePoint
- Added: TImageEnVect.ObjRight and TImageEnVect.ObjBottom properties
- Added: TImageEnVect.ObjTextCurveStretch object property
- Changed: TImageEnView.AutoFixRotationBorders only takes effect after moving out of layer rotation mode
- Added: TImageEnMView.OnImageOut to customize image before drawing thumbnail
- TImageEnView: removed unused property DoubleBuffer
- Changed: interface of TIEVirtualBitmapProvider.Render method
- Removed: ABitmapScanline parameter from TImageEnDBView.PaintToEx, TImageEnDBVect.PaintToEx, TImageEnVect.PaintToEx, TIEBitmap.RenderToTIEBitmap, TIEBitmap.RenderToTBitmap, TImageEnView.PaintToEx
- Changed: TIEDictionary searches are recursive by default


Changes to Method Parameters
- Changed: If ioUnknown is specified as a file type for TImageEnIO/TIEMIO.SaveToStream, the current file type is used
- Added: TIEBitmap.CopyRectTo, added CopyAlpha optional parameter


Compatibility Issues
- Combined parameters of Undo/UndoAt. If AutoRedo parameter 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 ie.inc
- Combined parameters of Redo/RedoAt. If AutoUndo parameter 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 ie.inc
- Undo captions are now read from iewords and not hard coded. To use the older undo captions enable the IEUseLegacyUndoCaptions define in ie.inc
- TImageEnProc.UndoPeekAt has been removed. Code such as ImageEnView1.Proc.UndoPeekAt( idx ) should be replaced with ImageEnView1.Proc.GetUndoInfo( ImageEnView1.Proc.UndoCount - 1 - idx, Src, iOp );
- TImageEnProc.RedoPeekAt has been removed. Code such as ImageEnView1.Proc.RedoPeekAt( idx ) should be replaced with ImageEnView1.Proc.GetRedoInfo( ImageEnView1.Proc.RedoCount - 1 - idx, Src, iOp );
- TImageEnView: removed unused property DoubleBuffer
- Changed: interface of TIEVirtualBitmapProvider.Render method
- Removed: ABitmapScanline parameter from TImageEnDBView.PaintToEx, TImageEnDBVect.PaintToEx, TImageEnVect.PaintToEx, TIEBitmap.RenderToTIEBitmap, TIEBitmap.RenderToTBitmap, TImageEnView.PaintToEx
- Changed: Installation folder now defaults to "Common App Data"

 


ImageEn 6.2.2 (8 February 2016)

New Features
- Added: New algorithm for TImageEnProc.RotateAndCrop
- Added: Now supports loading of Dicom Sequence lists (meta-data)
- Added: TImageEnFolderMView can now display files in sub-folders
- Added: TIEBitmap and TIEMultiBitmap Modified property
- Added: TImageEnViewSave action now only enabled on image change
- Added: Improved text layout with TImageEnMView iemsFlatAndWide style
- Added: New TImageEnMView layout style: iemsColumns
- Added: TImageEnMView.SetStyleEx to automatically set styling to one of five common layouts
- Added: New Actions: TImageEnMViewStyleShowColumns, TImageEnMViewStyleShowLargeThumbs, TImageEnMViewStyleShowFileList, TImageEnMViewShowColumn
- Added: TImageEnMView can now use all thumbnails of Windows Explorer for extra speed and persistent caching
- Added: Column headers in TImageEnFolderMView can be clicked to change sorting
- Added: Improvements to Russian and Polish translations
- Added: Second MouseWheelParams property for TImageEnMView to handle Ctrl + Wheel
- Added: New mouse wheel action to cycle through TImageEnMView file view layouts
- Added: Can now overlay a TImageEnView with guide lines to aid manual rotation
- Added: TIEMultiBitmap.IndexOf() and TIEMultiBitmap.RemoveDuplicates
- Added: Improved video format selection in TIEDirectShow (see DirectShow3 example)
- Added: Supported Black/White TIEBitmap properties for RGB alpha channel images
- Added: Improved rendering speed when a rotated layer is displayed
- Added: Installer now digitally signed with SHA256 certificate


Bug Fixes
- Fixed: DelayZoomFilter does not work when moving layers in some instances
- Fixed: May get exception when displaying I/O preview for TImageEnMView
- Fixed: Colors may be affected when saving to JPEG under IELIB
- Fixed: Issues saving 16bit PNG images
- Fixed: A/V in some rare situations when loading PSD file
- Fixed: IEBitmap.LoadFromResource may fail with some image formats
- Fixed: TImageEnFolderMView.OnFolderChanged may not occur in some situations
- Fixed: Reading TImageEnMView.ThumbWidth/ThumbHeight gave a different value than setting ThumbWidth/ThumbHeight (if zoom is in use)
- Fixed: Icons may appear too large if thumbnails are set to small size
- Fixed: TImageEnIO.OnFinishWork not called when failing on unknown formats
- Fixed: In some rare situations the correct icon may not be displayed in TImageEnMView
- Fixed: Aborting may not be true when TImageEnIO.ParamsFromFile fails
- Fixed: Progress bar does not halt in load dialog if select RAW file and DLL is unavailable
- Fixed: Loaded raw image is darker when NativePixelFormat = true
- Fixed: Corrupted image loading gray scale TIFF with alpha channel
- Fixed: Installer may not recognize installation of "Starter" editions


Changes to Classes
- Added: TImageEnMView.IOOptionsEx to allow loading by file extension
- Changed: TImageEnMView.RemoveCorrupted is now available via TImageEnMView.IOOptionsEx
- Changed: TImageEnMView.LoadFromFileOnDemand now analyzes the file content to determine the format
- Added: TIOParams.DICOM_WindowCenter and TIOParams.DICOM_WindowWidth
- Removed: TImageEnFolderMView.DetectFileFormat replaced by TImageEnView.IOOptionsEx
- Changed: Moved TImageEnFolderMView.ShowThumbnailHint to TImageEnMView
- Changed: Moved TImageEnFolderMView.FilenameToIndex to TImageEnMView
- Changed: Moved TImageEnFolderMView.ImageFileType to TImageEnMView
- Added: TIEVisionObjectsFinder.setEqualizeHistogram method
- Added: TIEVisionObjectsFinder.setHaarMaxSize and setHaarMinSize methods
- Changed: TImageEnView.DPI properties now just reference TImageEnView.IO.Params.DPI
- Added: TIEBitmap.AssignRect method
- Added: Alternative algorithm for TImageEnProc.RotateAndCrop to better support photo fixing
- Added: TIEMultiBitmap.SaveSnapshot and TIEMultiBitmap.LoadSnapshot methods
- Added: TIEMultiBitmap.ImageDictionary[] property
- Changed: Text labels are vertically aligned in TImageEnVect if using rounded labels
- Added: TIEMultiBitmap.ImageHash[] property
- Added: TIEVideoFormat (TIEDirectShow.VideoFormats) BitmapWidth and BitmapHeight fields
- Added: TIEDirectShow.SetVideoInput, bitRate optional parameter
- Added: TImageEnView.LayersRotateAll/LayersRepositionAll/LayersSizeAll
- Added: TIEBitmap.DetachAlphaChannel method
- Added: TIEBitmap.ReplaceAlphaChannel method
- Changed: TIEBitmap.AlphaChannel is now read-only
- Added: TImageEnFolderMView.OnDropFiles
- Removed: TImageEnProc.UndoPeekAt and TImageEnProc.RedoPeekAt. See TImageEnProc.UndoType/RedoType
- Removed: TImageEnProc.SaveUndoCaptioned and TImageEnProc.SaveRedoCaptioned have been deprecated in favor of overloaded TImageEnProc.SaveUndo/SaveRedo
- Added: Undo and Redo actions can now show caption describing type of undo/redo


Changes to Method Parameters
- Changed: TIEBitmap.Read() and TIEMultiBitmap.Read() now have a bCheckUnknown parameter
- Changed: New parameters for TImageEnProc.Undo/UndoAt/Redo/RedoAt


Compatibility Issues
- Now raises exception if try to call ieaddextioplugin('dcrawlib.dll');
- TImageEnMView.ThumbWidth and TImageEnMView.ThumbHeight no longer take zoom into account when read. See TImageEnMView.ThumbSizeInfo instead
- TImageEnMView.UpperGap and TImageEnMView.BottomGap no longer include space for text (which is handled internally) so layout may change
- Rather than ImageEnMView1.RemoveCorrupted := True; Use ImageEnMView1.IOOptionsEx := ImageEnMView1.IOOptionsEx + [ ieixRemoveCorrupted ];
- Rather than TImageEnFolderMView.DetectFileFormat. Use TImageEnView.IOOptionsEx := ImageEnMView1.IOOptionsEx + [ ieixLoadOnlyByFileExt ];
- Rather than TImageEnView.DisplayGrid use TImageEnView.DisplayGridKind
- Parameters have changed for TIEMultiBitmap.OnChanged
- TImageEnProc.UndoPeekAt has been removed. Code such as ImageEnView1.Proc.UndoPeekAt( idx ) should be replaced with ImageEnView1.Proc.UndoType( ImageEnView1.Proc.UndoCount - 1 - idx );
- TImageEnProc.RedoPeekAt has been removed. Code such as ImageEnView1.Proc.RedoPeekAt( idx ) should be replaced with ImageEnView1.Proc.RedoType( ImageEnView1.Proc.RedoCount - 1 - idx );

 


ImageEn 6.2.1 (16 October 2015)

New Features
- Added: TImageEnView.LayerOptions to configure behavior of layers, such as auto-selecting a layer's mask
- Added: TImageEnView.LayersMove now supports movement of all selected layers
- Added: When copying from a DIB the DPI is returned if IEBitmap.ParamsEnabled = True
- Added: When copying to a DIB the Params.DPI is used if IEBitmap.ParamsEnabled = True
- Added: TImageEnProc.TextOut and TIEBitmap.MergeWithAlpha support all pixel formats
- Added: Blurred Image background style for TImageEnView (like on YouTube when displaying portrait videos)
- Added: Zoom actions are checked if they match the current view


Bug Fixes
- Fixed: DelayZoomFilter does not work when moving layers
- Fixed: Setting AlphaEdgeFeathering may alter layer bitmap
- Fixed: TIOParams.RAW_GetExifThumbnail has no effect
- Fixed: TImageEnMView and TOpenImageEnDialog do not loading
- Fixed: There will be no remaining pixels with 255 alpha after setting feathering
- Fixed: When saving layer objects may move
- Fixed: When loading a legacy IEV file the group index will be inadvertently set
- Fixed: TImageEnProc.TextOut can only handle 24 and 32bit images
- Fixed: Installer may detect delphi versions that no longer exist (if not uninstalled correctly)
- Fixed: Copes better with twain devices that handle ICAP_BITDEPTH incorrectly
- Fixed: Acquisition of multiple images may fail via Twain if TImageEnMView is re-attached to a TImageEnMIO
- Fixed: Threading bug when loading RAW images in IELib
- Fixed: Potential error due to selection misalignment when using TImageEnMView.RemoveBlankPages
- Fixed: Improper initialization of TIEBitmap if IEINCLUDEDEPRECATEDMETHODS is undefined


Changes to Classes
- Added: TImageEnView.LayersAlign
- Added: TImageEnVect.AlignObjects
- Added: TIEAcquireParams.IsPixelTypeSupported


Changes to Method Parameters
- None


Compatibility Issues
- TImageEnView.LayersAllowMultiSelect is now an option of TImageEnView.LayerOptions
- TImageEnView.LayersAutoUndo is now an option of TImageEnView.LayerOptions. Also it is enabled by default if TImageEnView.Proc.AutoUndo is true

 

ImageEn 6.2.0 (11 September 2015)


New Features
- Added: Can now specify a custom background for ImageEn dialogs
- Added: New EXIF tags: CameraOwnerName, BodySerialNumber, LensMake, LensModel, LensSerialNumber, Gamma, SubjectArea, SubjectLocation
- Added: New edge detection algorithm in TIEVisionImage.canny (IEVision)
- Added: iexMetaHelpers now includes methods and consts for XMP metadata access
- Added: Line and segments detection in TIEVisionImage.houghLines and TIEVisionImage.houghLinesP (IEVision)
- Added: New blur algorithm in TIEVisionImage.blur (IEVision)
- Added: Panorama stitching in TIEVisionStitcher class (IEVision)
- Added: Image denoising using Non-local Means Denoising algorithm TIEVisionImage.fastNlMeansDenoisingColored (IEVision)
- Added: TIEMultiBitmap for non-visual manipulation of multi-page images
- Added: TIEBitmap can now store its own I/O params
- Added: TImageEnMIO can now read params from files and streams
- Added: TIOParams can now read params from files and streams
- Added: New thresholding algorithms in TIEVisionImage.threshold and TIEVisionImage.adaptiveThreshold (IEVision)
- Added: New erode/dilate algorithms in TIEVisionImage.erode and TIEVisionImage.dilate (IEVision)
- Added: ImageEn now automatically adds standard units to uses: hyieutils, iexBitmaps, hyiedefs, iesettings
- Added: TImageEnMIO can load all cursors in a cursor resource
- Added: Automatically loads JPEG at min size if GetExifThumbnail is set, but no EXIF thumbnail is available
- Added: Secondary color can be specified for chessboard background style
- Added: Background subtractor in TIEVisionBackgroundSubtractor class (IEVision)
- Added: Support for EMF+ metafiles
- Added: Code insight now available without setting source path
- Added: Face recognizer in TIEVisionFaceRecognizer class (IEVision)
- Added: new IEVision detectable objects IEVC_CASCADE_SMILE, IEVC_FRONTAL_CAT_FACE, IEVC_FRONTAL_CAT_FACE_EXT, IEVC_LICENSE_PLATE_RUS, IEVC_RUSSIAN_PLATE_NUMBER
- Added: Default text can be specified for all images in a TImageEnMView. Text changes appear without refreshing records
- Added: TIEDBBitmap to create a data-aware instance of TImageEnView and read/write directly to blob fields
- Added: TIEDBMultiBitmap to create a data-aware instance of TImageEnMView
- Added: Multiple selection and grouping of TImageEnView layers now supported
- Added: Grouping of TImageEnVect objects now supported


Bug Fixes
- Fixed: Undrawn area of wallpaper if non-default backgrounds are used for Print Preview dialog
- Fixed: Wrong bitmap orientation using IEVision and TImageEnProc.Undo
- Fixed: Memory leak using TIEBitmap.AssignIEVisionImage with LegacyBitmap = true
- Fixed: TImageEnView.ChangeResolution supports layers
- Fixed: Odd Distortion in Dicom image (when compression is lossless jpeg with predictor)
- Fixed: Custom drawn comboboxes do not cope with Windows font scaling
- Fixed: Items in TImageEnMView without filenames may show a folder icon
- Fixed: Added more extensions for embedded RAW or ielib.dll
- Fixed: Embedded RAW of IELib and IEVision not used by default
- Fixed: FindFileFormat() returns ORF files as ioTIFF
- Fixed: Dragging TRulerBox all the way to the margins stops processing
- Fixed: TImageEnVect.OnBeforeVectorialChanged is not called
- Fixed: Invalid assign from TImageEnView to TImageEnView if LayersCurrent is not last
- Fixed: Rotated TImageEnVect iekTEXT issues
- Fixed: TImageEnMView may load thumbnail size images for metafiles or videos even if mode is ietNormal
- Fixed: Print methods not undefined in iexRegistryFunctions


Changes to Classes
- Added: TImageEnView.ApplyBitmapToSelection
- Added: TIEImageEnAnnot.ObjectsCount
- Added: Added optimistic checking to FindFileFormat
- Added: TImageEnMIO.LoadFromFileCur/LoadFromStreamCur
- Added: TImageEnMView.OnImageAdded and OnImageLoaded events
- Added: TImageEnMView.EnsureImageLoaded to force loading of an image
- Added: TImageEnProc.Merge overloads
- Changed: TImageEnProc.MergeIEBitmap now deprecated (use TImageEnProc.Merge instead)
- Changed: TImageEnIO.LoadFromFileFormat and TImageEnMIO.LoadFromFileFormat now deprecated (use LoadFromFile/Stream instead)
- Changed: TImageEnIO.LoadFromStreamFormat and TImageEnMIO.LoadFromStreamFormat now deprecated (use LoadFromFile/Stream instead)
- Changed: TImageEnView.CopySelectionToIEBitmap now deprecated (use CopySelectionToBitmap instead)
- Changed: TImageEnProc.SelPasteFromClipStretch now deprecated (use SelPasteFromClip instead)
- Added: TIEImageEnGlobalSettings.GridMajorStep
- Changed: TImageEnMView.SetIEBitmap now deprecated (use TImageEnMView.SetImage)
- Changed: TOpenImageEnDialog no longer defaults to filter of filename, unless FilterDefault is set
- Added: New actions: TImageEnViewLayersDeselectAll, TImageEnViewLayersGroup, TImageEnViewLayersSelectAll, TImageEnViewLayersUngroup, TImageEnViewLayersMerge
- Added: DB Helpers in iexHelperFunctions no longer tied to BDE
- Added: TImageEnView.LayersSaveMergedTo


Changes to Method Parameters
- Added: AlphaCompositing parameter to TImageEnView.LayersMergeAll method
- Added: TImageEnProc Paste methods have a boolean result
- Added: StretchSmall parameter to TImageEnView.Fit


Compatibility Issues
- Changed: iegDialogsBackground replaced by IEGlobalSettings().DialogBackgroundStyle
- Changed: Many classes such as TIEBitmap have moved from hyieutils to iexBitmaps unit
- Changed: Renamed TIOParamsVals class to TIOParams
- Changed: ProxyAddress, ProxyPassword and ProxyUser of TImageEnIO and TImageEnMIO are now properties of IEGlobalSettings() so they apply to TIEBitmap and TIEMultiBitmap too
- Changed: TIEBitmap and TIOParamsVals class are now located in the iexBitmaps unit. You will need to add iexBitmaps to your uses clause
- Changed: Many global methods have moved from the imageenio to the iexBitmaps unit
- Removed: No longer supports RAW camera format internally or uses dcrawlib.dll. ImageEn now just needs ielib.dll to load RAW camera files (don't need to initialize, just put in same folder as your EXE)
- Removed: No longer uses ioRawDLLPlugIn, use ioRaw instead
- Removed: IEVision detectable objects: IEVC_MCS_EYE_PAIR_BIG, IEVC_MCS_EYE_PAIR_SMALL, IEVC_MCS_LEFT_EYE, IEVC_MCS_MOUTH, IEVC_MCS_NOSE, IEVC_MCS_RIGHT_EYE, IEVC_MCS_UPPER_BODY, IEVC_MCS_LEFT_EAR, IEVC_MCS_RIGHT_EAR
- Removed: TImageEnFolderMView.ResetAllTextToDefault. No longer needed when setting Default*Text. Otherwise use With IEMView do SetAllText( DefaultTopText, DefaultInfoText, DefaultBottomText );
- Changed: The default text for TImageEnFolderMView is no longer assigned to each frame but is handled on display

 

ImageEn 6.0.1 (6 May 2015)

New Features
- Added: Test version of Right-to-Left support for TImageEnMView
- Added: Improved GuessChromaKeyColor to sample more image areas
- Added: GuessChromaKeyColor now works on selections too, and can guess the Tolerance
- Added: iesoAutoTerminatePolySelect to automatic end poly selections
- Added: Some improvements to Dutch translations
- Added: Alpha channel is automatically merged (and restored) saving BMP and jpeg file formats
- Added: TImageEnMView when StoreType is ietThumb or ietFastThumb removes some IO parameters
- Added: Delphi XE8 and C++Builder XE8 compatibility
- Added: supported TImageEnMView panning with touch drag and drop
- Added: Pan Zoom effects are now much smoother due to frame blending
- Added: Cooler styling for THistogram
- Added: iexHelperDialog now uses Wic loading for extra speed
- Added: Poster printing (output of a single image to multiple pages)
- Added: Show Windows Print Wizard method
- Added: Excludes untranslated localization strings to reduce exe size


Bug Fixes
- Fixed: TImageEnVectPromptToSave does not set IO.Filename
- Fixed: Loaded low quality images for PCD with ImageMagick
- Fixed: Palette may be messed up if you access VCLBitmap when LegacyBitmap = False
- Fixed: Error with EdgeDetect_ShenCastan WindowSize > 51
- Fixed: TImageEnView.Proc.RemoveNoise() causes AV on 64bit
- Fixed: Floating point error in TImageEnProc.CalcStdDev and WhiteBalance_GrayWorld
- Fixed: Loading jpeg2000 encoded DICOMs with BitsStored less than BitsAllocated may produce incorrect results
- Fixed: TIEImageEnAnnot.LoadFromStream handles null data streams
- Fixed: Some cursors defined incorrectly
- Fixed: Unable to disable AdjustmentsMask
- Fixed: Undo does not reset PixelFormat after RemoveNoise
- Fixed: WIC loading of alpha PNG gives odd result
- Fixed: GetThumbnail does not return thumbnails with some Panasonic RAW images


Changes to Classes
- Added: TImageEnMView.BiDiMode
- Added: now TImageEnView can save/load layers rotation info
- Added: TImageEnView.ClearAll
- Added: TIEImageEnGlobalSettings.ImageProcMaxThreads and ImageProcThreadsMinSize to control use of threads in some image processing operations
- Added: TIEBitmap.SaveState and TIEBitmap.RestoreState methods
- Added: TIEGestureOptions.PanWithSingleFingerHorizontally and PanWithSingleFingerVertically


Changes to Method Parameters
- Added: SelectMode to TImageEnMView.InsertImageEx
- Added: Smoothing to all Pan Zoom Transition methods
- Added: TIEDicomTags.SetTag* methods include ReplaceIfExist parameter


Compatibility Issues
- None

 

ImageEn 6.0.0 (11 Mar 2015)


New Features
- Added: Can now perform ChromaKey removal for green screen image applications
- Added: Now includes a Portable Devices (WPD) class for accessing content on connected devices
- Added: DCIM acquisition now uses Portable Devices API (WPD) so it can retrieve from all connected devices
- Added: Now Nikon D5200 maker note is supported
- Added: Included MICR support for IEVision
- Added: Better icon shown for missing files in TImageEnMView
- Added: Graphic is displayed for unknown file types in TImageEnMView if shell icons are disabled
- Added: TImageEnMView can now display Wang and ImageEn annotations
- Added: TImageEnFolderMView can navigate to drives and desktop
- Added: Now it is possible to specify a selection mask for TIEBitmap.BlackValue, TIEBitmap.WhiteValue, TIEBitmap.ChannelOffset, TIEBitmap.Contrast and layers blending operations
- Added: Now TImageEnProc.GetHistogram can calculate Hue histogram
- Added: Now THistogramBox can show Hue histogram
- Added: Now supports feathering of edges on the alpha channel
- Added: Can now select values and ranges in THistogramBox
- Added: reading EXIF from some RWL and RW2 camera raw formats
- Added: Consts for all embedded ImageEn cursors
- Added: DoPreviews dialogs inherit mouse wheel parameters from calling component
- Added: DICOM, now it is possible to remove tag descriptions in order to reduce executable size (300K)
- Added: DICOM, now "Softcopy VOI LUT Sequence" is supported for per-frame WindowWidth and WindowCenter tags
- Added: Now TImageEnView navigator can store different sized image
- Added: Proc Previews dialog now supports AutoImageEnhance1 and AutoImageEnhance3
- Added: Proc Previews dialog now supports cropping
- Added: New ImageEnView actions: TImageEnViewDoPreviews, TImageEnMViewDoPreviews, TImageEnViewDoEditPreviews
- Added: New ImageEnMView actions: TImageEnMViewStyleShowThumbs, TImageEnMViewStyleShowDetails, TImageEnMViewDoEditPreviews
- Added: New ImageEnMView sorting actions: TImageEnMViewSortByFilename, TImageEnMViewSortByFileType, TImageEnMViewSortByFileSize, TImageEnMViewSortByCreateDate, TImageEnMViewSortByEditDate, TImageEnMViewSortByImageSize, TImageEnMViewSortByOther, TImageEnMViewSortAscending, TImageEnMViewSortDescending
- Added: New shortcut methods for loading and saving to streams
- Added: Lower resource requirements for TImageEnMView
- Added: New thumbnail layout for TImageEnMView that displays text to the right of the thumbnail
- Added: Save Parameters dialog is now resizable and has improved layout
- Added: Paper size for PDF files can be set to Auto to output at image size
- Added: Progress shown during TImageEnMView.FillFromDirectory if not LoadOnDemand
- Added: Now using TIEBitmap.CreateROICanvas it is possible to do alpha compositing


Bug Fixes
- Fixed: Some conditional defines were not implemented fully
- Fixed: Multiple calls to ImageEnMView.SelectImage may add duplicates to MultiSelectedImagesList
- Fixed: Exception calling TImageEnVect.CopyObjectsToBack with missing TImageEnVect parent
- Fixed: error compiling projects with BCB 2007
- Fixed: Error setting EXIF date
- Fixed: JPEG XR (HDPhoto) compression is not working
- Fixed: Resampling\Resizing 1bpp image with display set as 16 bit color mode may generate corrupted images
- Fixed: TImageEnMView.MoveSelectedImagesTo corrupts I/O parameters
- Fixed: Question marks not shown for missing files
- Fixed: Some issues getting slipply maps
- Fixed: TImageEnMView, mixing LoadFromFile and LoadFromFileOnDemand may generate messy TIFF frames
- Fixed: TImageEnMView, reduced per frame memory occupation
- Fixed: Inconsistent error messages when ielib DLL cannot be found
- Fixed: memory leak accessing TImageEnMView.Proc inside TForm.FormCreate event
- Fixed: May continue auto-scrolling if dragging is aborted
- Fixed: Minor issue with EXIF data formatting
- Fixed: TIFF-CCITT decoder may run infinite loop reading corrupted files
- Fixed: Issue with size selection in print dialogs
- Fixed: TIFF-CCITT (1D) encoder may corrupt image when TIFF_FillOrder = 2
- Fixed: No longer use Application.ActiveFormHandle which may cause ImageEn controls to lose Window messages
- Fixed: PSD, writing black/white images may produce negative image or corrupted file
- Fixed: TImageEnMView may scroll when dragging even if move off control
- Fixed: Save dialog when attached to a TImageEnMIO offers non multi-frame formats
- Fixed: Filenames not displayed if fill TImageEnMView from folder with LoadOnDemand=False
- Fixed: TIFF loading fails if TIFF_GetTile is set for TIFF without tiles
- Fixed: Stretching of small images may not work with TImageEnMView
- Fixed: ielMoving may be called before layer is moved in TImageEnView
- Fixed: ielMoved may be called even if layer has not moved in TImageEnView
- Fixed: LayersCreateFromText may create layers of invalid size
- Fixed: When outputting antialiased text using TextOut may appear with jaggies


Changes to Classes
- Some properties of TIEDcimAcquire class have changed
- Changed: Replaced TImageEnFolderMView.OnFolderChange with OnFolderChanging and OnFolderChanged
- Added: TImageEnMView.AppendImage and InsertImage can now accept a filename with a frame index, e.g. MyVideo.AVI::50
- Added: TImageEnIO.OnAcquireBitmap, TImageEnMIO.OnAcquireBitmap added DpiX and DpiY parameters
- Added: TIEBitmap.LoadFromResource methods
- Added: TIEBitmap.AdjustmentsMask property
- Added: THistogramBox, added UpdateFromBitmap and UpdateFromHistogram methods
- Added: TIEBitmap.FeatherAlphaEdges
- Added: TImageEnProc.FeatherAlphaEdges
- Added: TIELayers.AlphaEdgeFeathering
- Added: THistogramBox.MouseInteract, MinSelected, MaxSelected and SelectionColor
- Added: TIEBitmap.AssignIEVisionImage method
- Added: TIENavigatorOptions, new options ienoDontAssignNavBitmap, ienoDontPaintSrcBitmap, ienoDontRefreshSrcIfNavNotFocused
- Added: iesoShowCenter to TImageEnView.SelectionOptions
- Added: TImageEnProc.RemoveChromaKey and TImageEnProc.GuessChromaKeyColor methods
- Removed: TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText.TruncSide
- Added: TImageEnMView.OnGetTextEx
- Removed: TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText.Font
- Removed: TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText.BackgroundStyle and Background
- Changed: TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText are no longer records just a widestring
- Removed: TIEMText
- Added: iemsFlatAndWide to TImageEnMView.Style
- Added: TImageEnMView.TextBlockWidth
- Removed: THistogramBox.HistogramXPos property
- Added: THistogramBox.HistogramAbsXPos property


Changes to Method Parameters
- Added: bUseDisplayOrder parameter to TImageEnMView.MoveSelectedImagesTo


Compatibility Issues
- Some properties of TIEDcimAcquire class have changed
- Replaced TImageEnFolderMView.OnFolderChange with OnFolderChanging and OnFolderChanged
- The parameters of TIEBitmap.Read have changed for the stream overload. Code as follows: MyBmp.Read(aStream, aIOParams); should change to MyBmp.Read(aStream, ioUnknown, aIOParams);
- ppeColorAdjust and ppeEffects are now deprecated, use ppeColorAdjustments, ppeEditingFunctions, ppeSpecialEffects instead
- Removed iexHelperFunctions.GetFileDetails, use IEGetFileDetails instead
- Instead of TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText.TruncSide, use TImageEnMView.TruncSide
- Instead of TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText.Font, use TImageEnMView.TopTextFont/TImageEnMView.InfoTextFont/TImageEnMView.BottomTextFont. If you need custom fonts for certain frames use TImageEnMView.OnGetTextEx
- Instead of TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText.BackgroundStyle and Background, use TImageEnMView.TextBackgroundStyle and TImageEnMView.TextBackgroundColor. If you need custom fonts for certain frames use TImageEnMView.OnGetTextEx
- TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText.Caption, just set TImageEnMView.ImageTopText/ImageInfoText/ImageBottomText which is now a widestring
- AdjustRectToAspectRatio replaced by IEAdjustRectToAspectRatio, but note change of parameter order
- TIEBitmap.RenderToTIEBitmapEx now includes a bEnableAlpha parameter (set to True to preserve existing functionality)
- Instead of TImageEnMView.EnableResamplingOnMinor, use TImageEnMView.ThumbnailOptionsEx (ietxStretchSmallImages)

 

ImageEn 5.2.0 (22 Oct 2014)

New Features
- Media Foundation video capture: now can automatically rotate images
- Added: Experimental version of VCL Theme support
- Added: GetExifThumbnail property to TOpenImageEnImageDialog to disable thumbnail retrieval via EXIF
- Added: Now TImageEnProc.Random supports black/white images
- Added: OnAddImage event for TImageEnFolderMView so addition of certain files can be skipped
- Added: Glyphs in dialogs can be disabled using IEGlobalSettings().UseButtonGlyphsInDialogs
- Added: Icon caching in TImageEnMView for better performance
- Added: TImageEnFolderMView can now display content of multiple folders
- Added: AppendImage and InsertImage functions of TImageEnView support remote images (HTTP and FTP)
- Added: Checkboxes for thumbnails can now be displayed only when hovering over the mouse
- Added: now TIFF reader supports RGB48 tiled images
- Added: TIFF, now CMYK writing supports alpha channel
- Added: Auto calculates font size for ruler of TImageEnVect
- Added: TImageEnMView supports gestures
- Improved DICOM reading speed and memory requirements
- Added: now DICOM decoder can read multiple sequence items (subtags)
- Now Twain selection dialog is modal (cannot lose focus)
- Added: TImageEnProc.ConvertTo can reduce number of colors using Floyd-Steinberg dithering algorithm
- Added: now calling TImageEnIO.Acquire or TImageEnMIO.Acquire with ShowSettingsOnly = True, will return True if user presses Ok or Save
- Added: now LayersMerge and LayersMergeTo supports Cropping
- Added: now TIFF reader supports RGB color-mapped images with PlanarConfiguration = 2
- Added: Replaced EXIF helper unit, iexEXIFRoutines.pas and IPTC helper unit, iexIPTCRoutines.pas, with much improved iexMetaHelpers.pas
- Added: now TImageEnDBVect can save annotations inside TIFFs without stream headers (readable by other apps)
- Added: optimized CMYK to RGB conversion speed
- Added: Now supports the most recent official list of nearly 5,000 Dicom tags
- Added: now TIEDirectShow.Run() returns a result code (success, generic error, device busy)
- Added: Mouse wheel effect can now be controlled for TImageEnMView using MouseWheelParams property
- Added: TImageEnProc.ConvertTo overload with several dithering types and palette options
- Added: four resampling filters from Windows WIC, NearestNeighbor, Linear, Cubic and Fant
- Added: IO and MIO LoadFromFile methods now include parameter to support unknown formats
- Added: TImageEnMView provides better visual indication when disabled
- Added: Database components even in 64bit
- Added: XE7 Support


Bug Fixes
- Fixed: TImageEnVect, highlighted-box is not painted in CopyObjectsToBack
- Fixed: New objects in TImageEnVect may not be initialized with valid values
- Fixed: TImageEnMView.OnDestroyImage may not be called
- Fixed: memory leak in TImageEnMView loading not valid 256x256 icons
- Fixed: TImageEnVect.CopyObjectsToBack cuts rotated text
- Fixed: error loading some ZIP encoded TIFFs
- Fixed: Nested callback functions not working in 64bit
- Fixed: TImageEnVect, when ObjTextAutoSize = True, iekTEXT could not be displayed correctly
- Added: Some integers casts were not valid for 64bit
- Fixed: corruption of EXIF Maker Notes
- Fixed: DICOM reader can correctly detect root images
- Fixed: DICOM/JPEG2000 9..15 bit gray scale images were not read correctly


Changes to Classes
- Added: TIEMediaFoundationSourceReader.VideoProcessor property
- Added: TIEMediaFoundationVideoProcessor class
- Added: TIEMediaFoundationSourceReader.SamplesBufferSize property
- Fixed: Resampling using Maintain Aspect Ratio may create invalid sized image
- Added: TImageEnProc.SelCutToClip, CutAlpha parameter
- Added: New parameter for OnPlayFrame to allow skipping play of certain frames
- Added: TImageEnMView.OnImageEnGesture event
- Added: TImageEnMView.Gestures property
- Added: TIPDialogParams supports Horz and Vert flipping
- Added: TImageEnMView loading multi files on demand supports unknown extensions
- Added: TIOParamsVals.DICOM_RescaleIntercept property
- Added: TIOParamsVals.DICOM_RescaleSlope property
- Added: TIEImageEnGlobalSettings.ReleaseTwainResources property
- Added: TIEImageEnGlobalSettings.ModelessSelectTwainSource property
- Added: TIEImageEnGlobalSettings.IsInsideTwain property
- Added: TIEDitherMethod ieDithering value
- Added: IEExtToFileFormat now supports WMV and MPEG files
- Added: TImageEnView.LayersMerge overload (to merge a list of layers)
- Added: TIELayer.GetLayerMask method
- Added: TIELayer.GetIndex method
- Added: TImageEnMView.MultiSelectedImagesList property
- Added: TIEBitmap.DrawToCanvasWithAlpha method
- Changed: TImageEnView.Assign will copy all layers and vect objects
- Changed: TImageEnView.Assign also supports TIEBitmap as a source
- Added: TImageEnMView.SelectedFontColor
- Removed: TImageEnMView.HighlightColor
- Removed: TImageEnMView.HighlightTextColor
- Added: All TImageEnMIO.SaveTo* methods include OnlySelected parameter
- Added: Helper method, GetFileExtensionsOfType
- Added: ifTIFFwAnnot to TDataFieldImageFormat
- Added: now TImageEnView.Assign accepts TIEBitmap as parameter
- Added: TImageEnProc.CheckLegacyBitmap method
- Added: TResampleFilter, new resampling filters rfWICNearestNeighbor, rfWICLinear, rfWICCubic, rfWICFant
- Added: TImageEnView.VisibleBitmapRect to return the visible area of the image
- Added: TIEImageEnGestureEvent.Handled parameter
- Removed: TImageEnMView.SelectionStyle


Changes to Method Parameters
- TIEDICOMTags.AddTag and TIEDICOMTags.GetTagChilds


Compatibility Issues
- Checkbox properties of TImageEnMView have changed. See Checkboxes and CheckboxPos
- Parameters have changed for OnPlayFrame
- Now when calling TImageEnView.Assign and the source is a TImageEnView it will copy all layers. If it is a TImageEnVect it will also copy all objects
- TImageEnMView.HighlightColor has been removed, use TImageEnMView.ThumbnailsBackgroundSelected (Note: Default of HighlightColor was clHighlight, whereas ThumbnailsBackgroundSelected defaults to clBtnFace)
- TImageEnMView.HighlightTextColor has been removed, use TImageEnMView.SelectedFontColor (Note: Default of HighlightColor was clHighlightText, whereas ThumbnailsBackgroundSelected defaults to clNone)
- Applications calling TIEDICOMTags.AddTag and TIEDICOMTags.GetTagChilds must work with TObjectList as child object
- EXIF helper unit, iexEXIFRoutines.pas, and IPTC helper unit, iexIPTCRoutines.pas, are no longer included, by default. Either use the new iexMetaHelpers.pas or the access the old units in \Source\Legacy\
- 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\
- The TImageEnMView.DisplayImageRect method has been removed, set the TImageEnView.VisibleBitmapRect property instead
- TImageEnMView.SelectionStyle has been removed. Use ThumbnailsBackgroundSelected instead
- No longer use integers to specify channels for TImageEnProc.ShiftChannel, use iecRed for 2, iecGreen for 1 and iecBlue for 0

 

ImageEn 5.1.1 (12 May 2014)

New Features
- Added: support for Delphi/C++Builder XE6
- Added: Can specify background color for irregular rotations in Proc.Previews dialog
- PSD/PSB: now OnProgress works more smoothly reading PSD/PSB
- Added: TImageEnProc.Previews now allows the addition of a soft shadow


Bug Fixes
- Fixed: infinite/long time loading reading TIFF with corrupted string tag size
- Fixed: bug writing uncompressed dicom images
- Fixed: memory leak and bug using TImageEnVect.ObjName property
- Fixed: AV loading parameters or counting TIFF frames when there is a ICC color profile embedded
- Fixed: memory leak loading some PSD/PSB and LegacyBitmap = true
- Fixed: cannot read some jpeg compressed DICOM images


Changes to Classes
- None


Changes to Method Parameters
- Added: TImageEnVect.AddNewObject allows resetting of properties
- Added: Progress is now updated during TImageEnProc.SkewDetectionFine


Compatibility Issues
- None

 

ImageEn 5.1.0 (10 Apr 2014)

New Features
- Now ImageEn can load base64 encoded files
- TIESlippyMap: now horizontal borders are filled with the actual map content
- TIESlippyMap: now Longitude and Latitude point positions are limited to -180..180 and -85..85 degrees
- TIESlippyMap: now it is possibile to fill upper and bottom borders with a color
- Font styling can now be specified for TIEAnimation
- TImageEnVect.OnBeforeDrawObject event added destCanvas parameter
- TImageEnVect.OnAfterDrawObject event added destCanvas parameter
- TImageEnMView.OnImageIDRequest event added Index parameter
- TImageEnMView.OnImageIDRequestEx event added Index parameter
- TImageEnView.RunTransition now allows specification of in-built pan-zoom effects
- TImageEnIO.CaptureFromScreen now supports iecsPrimary
- Added: support for Microsoft Media Foundation (webcam/file/URL capture only)
- Changed: "All Common Graphic Files" filter of TOpenImageEnDialog now shows all supported ImageEn formats
- Added: New helper for TIEAcquireParams to load/save all settings to registry or ini file


Bug Fixes
- Fixed: SaveToText with base64 doesn't write last bytes
- Fixed: loading EXIF incorrectly set also GPS fields
- Fixed: IO.Filename and FileType not filled if use ImageEnVect1.LoadFromFileAll or ImageEnVect1.LoadFromFileIEV
- Fixed: exception calling CopyObjectsToBack() with ObjSoftShadow enabled
- Fixed: bug in TImageEnVect drawing objects with shadow
- Fixed: bug reading EXIF tags
- Fixed: bug and memory leak reading/writing TIELayer.UserData
- Fixed: bug in TImageEnVect drawing objects with alpha channel
- Fixed: AV reading some (corrupted) PSD files
- Fixed: AV reading some CCITT encoded TIFFs
- Fixed: OnBeforeDrawObject/OnAfterDrawObject problem inside CopyObjectsToBack
- Fixed: TImageEnView.OnAcquireBitmap may not be called
- Fixed: Move cursor shows for objects in TImageEnVect even if they are not moveable
- Fixed: May get floating point error when accessing AcquireParams.AcquireFrame* properties
- Fixed: TImageEnView copes with animated GIF files without explicit delay intervals


Changes to Classes
- Added: TIEBitmap.IsAlpha property
- Added TImageEnIO.LoadFromText method
- Added: TIESlippyMap.MissingTileColor property
- Added: TIOParamsVals.PS_PaperSize and TIOParamsVals.PDF_PaperSize
- Added: New TImageEnIO helper functions: CreatePDFFromFileList and CreatePSFromFileList
- Added: Alt key now forces aspect ratio when inserting objects with TImageEnVect
- Added: MIO.Aborting can be set to discontinue loading of TImageEnMView.LoadFromFileOnDemand
- Changed: Default interval for animations that do not have an interval explicity specified is now 100ms, in line with most browsers
- Added: iemmf unit
- Added: TIEMediaFoundationSourceReader class
- Added: TImageEnView.OnMediaFoundationNotify event
- Added: TImageEnIO.MediaFoundationSourceReader property
- Added: TIEBitmap.DrawToTIEBitmap
- Added: OnAcquireBitmap event to TImageEnView and TImageEnMView
- Changed: PreviewSize is now a published property of TOpenImageEnDialog
- Changed: TOpenImageEnDialog.ShowAVI has been superceded by the published property, ShowFormats
- Added: New helper function, TImageEnIO.LoadFromFileAutoEx


Changes to Method Parameters
- Added TImageEnIO.SaveToText overload (save to stream)


Compatibility Issues
- Because TImageEnVect.OnBeforeDrawObject and TImageEnVect.OnAfterDrawObject have changed parameters, you should remove and reinsert the event handler
- Because TImageEnMView.OnImageIDRequest and TImageEnMView.OnImageIDRequestEx have changed parameters, you should remove and reinsert the event handler
- The file types that appear in the "Common" list of TOpenImageEnDialog file filter have changed
- TOpenImageEnDialog.ShowAVI has been superceded by the published property, ShowFormats

 

ImageEn 5.0.6 (14 Feb 2014)

New Features
- Now TImageEnProc.GetHistogram can get histogram of 8 and 16 bit gray scale images
- Added: read of 16 bit gray scale BMP as native format
- TIFF: added support for Deflate compressed images with predictor
- Added support for ImageMagick official library (precompiled libraries from http://www.imagemagick.org) and file formats
- Now XMP info are parsed into Dict dictionary
- Added: Equirectangular renderer (to view at 360?? the Android-Google Photosphere images)
- Improved EXIF compatibility with Picasa
- Added: If GridWidth=0 with TImageEnMView then the mouse wheel can be used for horizontal scrolling
- Now TImageEnMView.InsertImage/AppendImage fills new images with black
- Added: Selection changes can now be blocked in TImageEnMView
- Added: "Fill Page" option to print images to full page size while cropping edges
- TImageEnVect: added Unicode support for iekTEXT objects (no RTL support, yet), for Unicode IDEs only
- TImageEnVect: added Unicode support for iekMEMO objects (no RTL support, yet), for Unicode IDEs only
- now ImageEn can save native vectorial objects into TIFFs (single-multi page, file or stream)
- now ImageEn can save native vectorial objects into JPEGs (file or stream)
- now ImageEn can render using a color profile (only for CMYK images)
- Added support for reading BigTIFF (>4GB TIFFs)
- Added support PSB format (large Photoshop PSD)
- TIEWia.TransferFormat is filled with the actual used format at the end of image transfert
- TIEWia.SaveTransferBufferAs: now the file may be changed to raw, bmp or jpeg according to the actual image type receved from the device.


Bug Fixes
- TImageEnMView.ImageAtPos supports animation views
- Fixed: infinite loop reading some 16 bit gray scale BMP images
- Fixed: CopyObjectTo causes memory corruption on copying bitmap objects
- Fixed: exception reading TIFF (jpeg-7 compression) and RGB color space
- Fixed: PopupSystemMenu gives A/V with 64bit apps when items clicked
- Fixed: ImageEnMView copes with image files that may not contain images, such as DICOM
- Fixed: cannot load Exif thumbnail
- Fixed: DICOM codec appends Spaces instead of Zeros in UI or OB tags
- Fixed: some Exif-GPS tags (out of Exif standard) cannot be read correctly
- Fixed: bug rotating with bilinear and bicubic filters
- Fixed: TImageEnMView may not print all pages
- Fixed: OnNewObject not called for TImageEnVect when pasting
- Fixed: Thumbnail may not display for TImageEnMView


Changes to Classes
- Added TImageEnProc.GetHistogram overload
- Added Maintain Aspect Ratio parameter to TImageEnVect.SetObjRect
- Added Maintain Aspect Ratio parameter to TImageEnVect.SetObjRect
- Added Dict property
- Added TIEMiscPluginsImageMagick class (ImageMagick wrapper)
- Added: TIEEquirectangularRenderer class
- Changed: Now the TImageEnMView multi-select properties, MultiSelectedImages and <MultiSelectedImagesCount, return valid results even if EnableMultiSelect is not enabled
- TImageEnVect.ObjText[]: changed from AnsiString to WideString
- TImageEnVect.ObjFontName[]: changed from AnsiString to string
- TImageEnVect.GetMemoFormattedString(): changed result from AnsiString to string
- Added TIEImageEnAnnot class
- Added TIOParamsVals.ImageEnAnnot property
- Added: TIEBitmap.ColorProfile property
- Added: TIEICC.InitTransform method
- Added: TIEICC.Transform method overload
- Added: TIEImageEnGlobalSettings.ApplyColorProfileOnRendering property
- Moved TIEColorSpace to hyiedefs unit
- Added TIEICC.CheckTransform overload
- Added TIEICC.Assign_CMYKProfile method
- Added TIELayer.Swap method
- Moved TIELayerMagnification into hyiedefs unit
- Moved TIEMagnifyStyle into hyiedefs unit
- Moved TIEMagnifySource into hyiedefs unit
- Added TIOParamsVals.PSD_LargeDocumentFormat property
- Added TIOParamsVals.PSD_SelectLayer property
- added TIOParamsVals.TIFF_BigTIFF property
- TIETransferFormat: added ietfRawBitmap value


Changes to Method Parameters
- None


Compatibility Issues
- TImageEnVect.SelObjects returns -1 if there are no selected objects
- TImageEnVect.GetObj now returns more specific exceptions

 

ImageEn 5.0.5 (19 Nov 2013)


New Features
- TImageEnMView now supports Checkboxes
- EXIF_GPSLatitude, EXIF_GPSLongitude, EXIF_GPSAltitude, EXIF_GPSSpeed, EXIF_GPSTrack, EXIF_GPSImgDirection, EXIF_GPSDestLatitude, EXIF_GPSDestLongitude, EXIF_GPSDestBearing and EXIF_GPSDestDistance aren't saved when "Ref" corresponding values are empty
- TImageEnProc.Flip: now UndoCaptions includes flip direction (H or V)
- Optimized TImageEnView.SetSelectedAreaAlpha method
- Added support for native Windows 7 and 8 gestures (pan, zoom, rotate and move) in TImageEnView
- TImageEnVect: now CopyObjectsToBack doesn't require destination bitmap to be TBitmap
- TIEBitmap: now TIEBitmap.Create(TIEBitmap, TRect) overload copies also alpha channel
- TIEBitmap: now CreateROICanvas supports alpha channel
- Support for IEVision bar code reader
- TImageEnFolderMView.LoadSnapshot/SaveSnapshot now support all folder properties
- Added 3D Book Flip and Cube Rotation transition effects
- Added five transition effects that can display text (e.g. a single character or cycle the letters of a word)
- Added six Pacman style transition effects
- Added five six other effects including jigsaw puzzle, random bars and rotational sweeps
- The style of sixty transition effects can now be further modified using IEGlobalSettings().TransitionsDrawAlternative
- Much optimization and improvement of transition code


Bug Fixes
- TImageEnMView: exception loading one frame GIFs
- TImageEnMView: May not get preview when using print preview
- TImageEnView: IsEmpty2 may return false if changed image directly via IEBitmap
- C++Builder: AV on startup C++ application with RunTime packages disabled
- MouseDown cursors, such as as the pan cursor may not appear
- TImageEnVect: AV loading bitmap objects on some circumstances
- No longer get annoying "Cannot Open Clipboard" warning in the debugger (TIEFolderMViewPasteFilesFromClipboard)
- TIEBitmap: bug in Create(TBitmap, TRect) constructor
- Fixed temperamental triangular wipe transition effect


Changes to Classes
- Added: Two new TImageEnMView Actions: TImageEnMViewPromptToRotate and TImageEnMViewPromptToResize
- Added: TImageEnView.Gestures property
- Added: TImageEnView.OnImageEnGesture event
- Added: TImageEnFolderMView.OnCustomSortCompare event to allow custom sorting (SortOrder = iesbCustom)
- Added: Three new IEVision OCR helper methods: IEVisionLanguageCodeToName, IEVisionLanguageNameToCode and IEVisionGetLanguagesInFolder
- Added: iesoDisableNewSelection to TImageEnView.SelectionOptions


Changes to Method Parameters
- removed MergeAlpha parameter from DrawObjectsToBack/CopyObjectToBack/DrawObjectToBack/DrawOneObejctToBack
- TIEDrawObjectEvent: changed type of destination parameter (from TBitmap to TIEBitmap)


Compatibility Issues
- TImageEnMViewDoEffectPreviews no longer offers peRotate and peResize
- removed MergeAlpha parameter from DrawObjectsToBack/CopyObjectToBack/DrawObjectToBack/DrawOneObejctToBack
- TIEDrawObjectEvent: changed type of destination parameter (from TBitmap to TIEBitmap)
- Renamed ieXtraTransitions.pas to iexTransitions.pas
- TIETransitionType and other transition code moved to iexTransitions.pas

 

ImageEn 5.0.0 (23 Sep 2013)


New Features
- Beta release of new component, TImageEnFolderMView
- DICOM: now ImageEn can save DICOM file format
- Added support for some OLYMPUS cameras maker note
- now TImageEnMIO.PrintImagesToFile calls OnProgress and OnFinishWork events and can be aborted
- now ImageEn can read XMP from RAW images (when embedded in the EXIF block, like DNG)
- Image processing preview: now retains the width and height of the dialog
- Added new encryption algorithm for Encrypt and Decrypt of TImageEnProc (does not show contours of encrypted images)
- jpeg2000: now can save native 8 bit and 16 bit gray scale images
- jpeg2000: now can load native 8 bit and 16 bit gray scale images
- Preview updating is now slightly delayed in Proc.DoPreviews for better performance
- Proc.DoPreviews now looks better when being used for a single purpose such as just rotation
- Can now resize images using Proc.DoPreviews([peResize])
- Can now use anti-alias in Proc.DoPreviews([peRotate]) by setting DefaultRotateAntiAlias
- Added three new TImageEnView Actions: TImageEnViewSetZoom, TImageEnViewPromptToRotate, TImageEnViewPromptToResize
- Added two new sorting methods for Sort: iesbFilenameWithoutPath, iesbFileExtension
- Improved documentation for TImageEnMView
- Added Reload as a helper function in iexHelperFunctions.pas
- Can now specify a different background color for selected frames in TImageEnMView using ThumbnailsBackgroundSelected
- Can now override the default background text style with DefaultTextBackgroundStyle
- Can add more space between text and borders in TImageEnMView using TextMargin
- TImageEnMView displays the system icon for files that are pending loading
- Call SetModernStyling to automatically set all styling properties of TImageEnMView to match the current Windows style
- When printing thumbnails in a TImageEnMView in ietThumb Store Mode it will retrieve the full resolution images if available
- Faster intial display when printing thumbnails
- Better handling for non-images in a TImageEnMView when printing
- Exif, TIFF: now ImageEn can read/write interoperability tags
- JPEG: now ImageEn assigns AdobeRGB1998 color profile when loading EXIF-interoperability tag is 'R03'
- Added: DICOM, now read undefined length subitems
- TImageEnMView can now be sorted by file size, create date, edit date and type
- Constants can now be specified for the <TIEMText.Caption> of frames in TImageEnMView to automatically output dimensions, size, date, etc.
- Thumbnails in TImageEnMView can be automatically clipped to their display area using ThumbnailClipping
- Added Windows File/Folder Management functions unit, iexWindowsFunctions.pas
- Now ImageEn can read/write Photoshop layers data (but still cannot use it)
- Undo/Redo functionality of TImageEnProc now supports TImageEnMView
- iexRegistryFunctions now supports saving to INI file
- optimized TImageEnProc.SelectColors for 24 bit RGB images
- Improved documentation for imageenio.pas unit
- All LoadFromFile/LoadFromStream methods offer a boolean result
- now layers rotation applies antialias filter on rotation preview


Bug Fixes
- Fixed: bug reading some images with ICC on 64 bit
- Fixed: bug reading TIFF CIELab images with ICC
- Fixed: unable to load some DICOM files
- Fixed: now TIEBitmap.Read returns right value (true = success)
- Fixed: thread safe problems using external dll to load jpeg (png, jpeg2000, etc...)
- Fixed: bug reading some jp2 images
- Fixed: some fixes for virtual bitmaps
- Fixed: TImageEnIO, saving PDF with AsyncMode = true produces invalid file
- Fixed: TImageEnIO, saving PS with AsyncMode = true produces invalid file
- Fixed: LayersCreateFromText does not support rotation and anti-aliasing
- Fixed: TImageEnViewCrop fails in some situations
- Fixed: TImageEnMView.OnAfterEvent, ieaeKeyUp doesn't occur on special keys (like arrows)
- Fixed: TIETagsHandler has problems reading little-endian makernote tags
- Fixed: copy/cut to clipboard copies also an empty alpha channel when no alpha channel exists
- Fixed: PNG, memory leak reading some corrupted PNG
- Fixed: LoadFromURL fails when Aborting = true (doesn't reset Aborting)
- Fixed: If SelectionWidth is 1 then thumbnails may appear outside selection box
- Fixed: Thumbnails in TImageEnMView may appear blurry if SoftShadow is used
- Fixed: some TIFF-jpeg images cannot be loaded
- Fixed: TIEBitmap.Create(image: TIEBitmap; Rect: TRect) constructor doesn't work
- Fixed: TImageEnVect.CopyObjectsToBack has some bugs
- Fixed: TIEBitmap.PixelFormat, setting to ie1g works bad with TIECanvas
- Fixed: math exception on saving some jpegs
- Fixed: some Dicom .dic files wrongly loaded as valid Dicom
- Fixed: DICOM, bug reading RLE compressed images
- Fixed: InjectJpegEXIF and InjectJpegEXIFStream doesn't remove EXIF when EXIF_HasEXIFData is False
- Fixed: ImageEn Actions may flash excessively
- Fixed: exception when setting TImageEnMView animation and clicking inside the component without images
- Fixed: added right 32/64 bit platform attributes for design time components
- Fixed: AV saving black/white tiff with alpha channel
- Fixed: TImageEnMView.InsertTransitionFramesEx can fail
- Fixed: Twain and TImageEnMView, sometime a black page is capture on device failure
- Fixed: rotating left aligned text by 180 degrees, bad alignment
- Fixed: background is not painted moving/rotating layer 0


Changes to Classes
- renamed TIEVirtualBitmapRenderer to TIEVirtualBitmapProvider
- now TImageEnVideoView and TImageEnVideoCap are deprecated
- No longer uses generic Exception type in all helper units
- Added: TIPDialogParams.DialogWidth and DialogHeight to store image processing dialog width and height
- Added: TIEAntialiasMode, ierNone value
- Added: TPreviewEffects, peResize value
- Added: DefaultRotateAntiAlias
- Added: OnGetText
- Added: SideGap
- Added: New helper function: IsKnownSaveFormat
- Added: TIEFileFormatInfo includes a SuitableExtension property
- Added: TIEDICOMTags.GetTagNumeric method
- Added: TIEDICOMTags.SetTagNumeric method
- Added: TIEDICOMTags.SetTagString method
- Added: TImageEnIO.SaveToStreamDICOM method
- Added: TImageEnIO.SaveToFileDICOM method
- TIEDICOMTags.DeleteTag: added DeleteAllInstances optional parameter
- Added: TIOParamsVals.DICOM_Compression property
- Added: now TImageEnIO.SaveToFile can save DICOM file format
- Added: now TImageEnIO.SaveToStream can save DICOM file format
- Added: now TImageEnMIO.SaveToFile can save DICOM file format
- Added: TImageEnMIO.SaveToFileDICOM method
- Added: TImageEnMIO.SaveToStreamDICOM method
- Added: TIEDICOMTags.SetTagByteBuffer method
- Added: TIEDICOMTags.DeleteGroup method
- Added: TIOParamsVals.DICOM_JPEGQuality property
- Added: TIOParamsVals.DICOM_J2000Rate property
- Added: ImageFileSize
- Added: ImageCreateDate
- Added: ImageEditDate
- Added: Many new parameters to TImageEnMView.FillFromDirectory
- Added: iemoSelectOnRightClick to TImageEnMView.MultiSelectionOptions
- Added: EXIFInteroperabilityIndexUsage property
- Added: TImageEnMView.IconSize
- Added: TIFF_PhotoshopImageResources property
- Added: TIFF_PhotoshopImageSourceData property
- Added: TImageEnMView.ThumbnailOptionsEx
- Added: TBitmapHelper.PrintImage and TIEBitmapHelper.PrintImage
- Added: TImageEnVect.LayersRemove now also deletes all objects of the layer
- Added: IEAutoLoadIOPlugins to automatically support any plug-in dlls in the application folder
- Added: TOpenImageEnDialog.AutoSetFilterFileType to limit support to a single format
- Added: Overloaded versions of TImageEnIO.ExecuteOpenDialog, TImageEnIO.ExecuteSaveDialog, TImageEnMIO.ExecuteOpenDialog and TImageEnMIO.ExecuteSaveDialog
- Added: DialogTitle, DefaultFilter, LimitToFileType parameters for all Prompt to Load/Save Actions
- TImageEnVect: added ObjTextMaintainAlignmentOnRotate property
- TImageEnView: added LayersRotationUseFilterOnPreview property
- TImageEnView: added LayersRotationDelayFilterOnPreview property
- Added: New define, IEINCLUDEDEPRECATEDMETHODS, to allow deprecated methods to be removed
- Added: TIEImageEnGlobalSettings.PrintDialogMargingsIncrement property
- Added: TIEImageEnGlobalSettings.PrintDialogMargingsMinValue property


Changes to Method Parameters
- Added: OnGetText
- Added: CreateROIBitmap method
- Added: CreateROICanvas method
- Added: EXIF_InteropIndex property
- Added: EXIF_InteropVersion property
- Added: Assign_AdobeRGB1998 method
- TIEVirtualBitmapProvider.Render: added DestWidth and DestHeight parameters
- TImageEnProc.Encrypt: added optional Algorithm parameter
- TImageEnProc.Decrypt: added optional Algorithm parameter
- <TImageEnMView.Sort>: Added optional CaseSensitive parameter
- Added: LimitToFileType and DefaultFilter to TImageEnIO.ExecuteOpenDialog, TImageEnIO.ExecuteSaveDialog, TImageEnMIO.ExecuteOpenDialog and TImageEnMIO.ExecuteSaveDialog
                                     

Compatibility Issues
- renamed TIEVirtualBitmapRenderer to TIEVirtualBitmapProvider
- TImageEnViewDoEffectPreviews no longer includes peRotate, peResize
- Removed TImageEnMView.LoadIconOnUnknownFormat property. Use ThumbnailOptionsEx instead
- ioDLLPLUGINS const replaced by ioRawDLLPlugIn and ioOtherDLLPlugIns
- Deprecated some Rotation 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)

 

ImageEn 4.3.1 (11 MAY 2013)

New Features

- Delphi XE4 compatibility
- TImageEnMView: now it is possible to select multiple regions pressing CTRL
- UpdateEXIFThumbnail: now it is possible to specify thumbnail size and resampling filter
- PSD: now opacity field corresponds to TIELayer.Opacity instead of TIELayer.Transparency
- better algorithm for handling overall image transparency (using TIELayer.Opacity instead of TIELayer.Transparency)
- now TImageEnMView select with SHIFT (iemoRegion) has the same behavior of Windows explorer
- Added: The selection grid color can now be specified with SelectionGridColor
- Added: Chinese Traditional (Big5 Encoding) and Norwegian translations
- Changed: Default encoding for SUBLANG_CHINESE_TRADITIONAL: is now msChineseTraditionalBig5
- Added: iexDicomRoutines helper unit for Dicom files
- Added: FillFromDirectory can now be cancelled by setting MIO.Aborting := True
- Added: Improved GetTagString to better support numeric values
- IEBitmap.Assign(TIEBitmap) now copies also Origin, BlackValue, WhiteValue, ChannelOffset and Contrast
- now it is possible to make permanent changes of TIEBitmap.Contrast and TIEBitmap.ChannelOffset
- ICC: now ICC profile is applied only when applicable
- Added: unit iesettings
- Added: IEGlobalSettings() global function
- Added: TIEImageEnGlobalSettings class
- now ImageEn global settings are centralized into TIEImageEnGlobalSettings (accessible via IEImageEnSettings() function)
- Added: TImageEnMView now support Explorer thumbnails when using AppendImage
- Added: All ImageEn actions can now be localized by setting MsgLanguage
- Added: iexExifRoutines and iexIPTCRoutines support TListView
- Added: Class helper for TIEBitmap added to iexHelperFunctions
- Added: DICOM decoder now can read nested tags
- Added: now BlackValue/WhiteValue of TIEBitmap works also for ie48RGB (non-alpha) images
- now ievision32.dll file name is also accepted on searching ievision library


Bug Fixes

- BugFix: TImageEnVect incorrectly renders objects when shadow is enabled
- Fixed: AV if DoPrintPreviewDialog in iedtMaxi layout is reduced to very small
- Fixed: Size combo not translated in Print Preview maxi dialog
- Fixed: loading of gray scale + alpha TIFF doesn't work
- Fixed: saving ICC profile into jpeg, using Unicode versions
- Fixed: cursors 1805 and 1806 missing transparency
- Fixed: BlackValue/WhiteValue resampling using filters on non-24 RGB pixel formats
- Fixed: some animatied GIF displayed incorrectly
- Fixed: CopyObjectsToBack doesn't work rendering image objects on black/white image
- Fixed: buffer overflow running at 64 bit loading some jpeg with ICC


Changes to Classes

- TIEAcquirePixelType: added ieap16BitGrayScale and ieapFullColor16 values
- TIELayer: added Opacity property
- TIEMultiSelectionOptions: added iemoRegionOnShift value
- Added PrintImagesToFile to allow outputting of the TImageEnMView to a set of files (thumbnail sheets)
- Added: Overloaded versions of DeleteTag, GetTag and GetTagString
- Added: ImageDelayTime to make it easier to animate frames, including DICOM
- Added: SetRectangle method
- Added: SetEllipse method
- Added: FixContrast method
- Added: FixChannelOffset method
- Added: InputColorSpace property
- Added: OutputColorSpace property
- Added: CheckTransform method
- removed MsgLanguage properties from all objects (except for TIEImageEnGlobalSettings)
- removed global fields: 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,
                         DefGIF_LZWDECOMPFUNC, DefGIF_LZWCOMPFUNC, DefTIFF_LZWDECOMPFUNC, DefTIFF_LZWCOMPFUNC,
                         iegFileFormats, iegUseCMYKProfile, iegUseDefaultFileExists, iegMaxImageEMFSize, iegEnableCMS,
                         iegColorReductionAlgorithm, iegColorReductionQuality, iegObjectsTIFFTag, iegUseRelativeStreams,
                         iegPanZoomQualityFilter, gRedToGrayCoef, gGreenToGrayCoef
- Added: TIOParamsVals.GIF_RAWLoad property
- Added: LoadThumbnailFromExplorer
- Added TIEBitmap.Create overload (copy from image rectangle)
- Added: GetTagChilds method
- Added: GetTagDescription method
- Added: FindNestedTag method


Changes to Method Parameters

- Added: in TIEDICOMTags.AddTag, Childs optional parameter


Compatibility Issues

- removed MsgLanguage properties from all objects (except for TIEImageEnGlobalSettings)
- removed several public fields (now embedded in TIEImageEnGlobalSettings)

 

ImageEn 4.3.0 (03 FEB 2013)

New Features
- Rapid UI creation with actions for TImageEnView, TImageEnMView and TImageEnVect
- ImageEnView can playback animated GIF and AVI files
- Improvements to OpenImageEnDialog, including better layout and larger preview options
- Thumbnails for video files can now be retrieved from Windows Explorer (using iegMViewExplorerThumbnailExts)
- New methods for reading and writing IPTC fields
- TIOParamsVals.EXIF_DateTime, TIOParamsVals.EXIF_DateTimeDigitized and TIOParamsVals.EXIF_DateTimeOriginal now all have TDateTime equivalents
- Added Arabic and Serbian translations
- Improved translation for Spanish, Portuguese, French, Russian and Swedish
- Added iexHelperFunctions to add methods to TImageEnIO, TBitmap as well as general image file functions
- Added: TImageEnIO.DoPrintPreviewDialog now remembers the user's prefered width and height
- ICC profile can be saved into jpeg (even if not loaded from another jpeg)
- Added: Escape key now also terminates the insertion of a polyline with TImageEnVect
- Added: TImageEnVect.PolylineClosingMode to make it easier to create polygons
- Improvements to the documentation (ongoing)
- TImageEnMView: FillFromDirectory added optional LoadOnDemand parameter, to load images immediately
- Added: TIESlippyMap class to perform basic geo-location (automatic display of a GPS-EXIF points in a map, using open maps). Look at other\GeoMaps demo.
- new TImageEnView method to perform smooth zoom
- new event to detect when TImageEnView smooth scroll or zoom ends

Bug Fixes
- Some items not localized in TImageEnMView.PrintPreview
- DPI not honored in TImageEnMView.PrintPreview
- Odd colors when creating transition bitmaps with the iettCubeRotate effects
- Improved error message when install files cannot be downloaded
- Some issues with layout of print dialogs especially when resizing
- iesoDisableOneClickDeselect does not work with miSelectCircle or miSelectPoly
- alpha channel doesn't work displaying CMYK images
- TIEBitmap.WhiteValue and BlackValue aren't used when ZoomFilter is not rfNone
- 64 bit: LoadFromFileURL doesn't work
- ObjTextAutoSize with ObjFontAngle <> 0 doesn't work
- TIEMediaReader doesn't work
- TIECanvas.RoundRect doesn't work well with specific parameters
- Selections on big images may not work

Changes to Classes
- TImageEnView: added TImageEnView.Playing property
- TImageEnView: added TImageEnView.PlayLoop property
- TOpenImageEnDialog: Added TOpenImageEnDialog.PreviewSize property
- ImageEnMView: added A iegMViewExplorerThumbnailExts
- TImageEnView: added TImageEnView.IsEmpty2 property
- TImageEnVect: TImageEnVect.ObjPasteFromClipboard now also pastes images on the clipboard as objects
- TIOParamsVals: TIOParamsVals.ReadIPTCField
- TIOParamsVals: TIOParamsVals.WriteIPTCField
- TIOParamsVals: TIOParamsVals.ClearIPTCField
- TIOParamsVals: TIOParamsVals.EXIF_DateTime2
- TIOParamsVals: TIOParamsVals.IPTC_Photoshop
- TIOParamsVals: TIOParamsVals.EXIF_DateTimeDigitized2
- TIOParamsVals: TIOParamsVals.EXIF_DateTimeOriginal2
- Helper function: IEFileIsOfFormat
- Helper function: IEFilenameInExtensions
- Helper function: IEFileExtInExtensions
- TIOParamsVals.EXIF_Orientation: Added consts
- TIEBitmap: TIEBitmap.Rotate, TIEBitmap.Flip and TIEBitmap.Resample
- TImageEnView: added TImageEnView.LayersCreateFromFile
- TImageEnView: added TImageEnView.LayersCreateFromText
- TImageEnVect.ObjBoxInnerSelectable now also affects iekEllipse and closed iekPolylines
- Added: TIEDirectShow.CaptureMode property
- Added: TIEBitmap.IECanvas property
- Added: TIOParamsVals.DICOM_Range property
- Added: TIOParamsVals.DICOM_WindowCenterOffset property
- Added: TImageEnView.SetZoomSmooth method
- Added: TImageEnView.SmoothZoomValue property
- Added: TImageEnView.OnFinishSmoothTask event
- Added: TImageEnProc.CalcStdDev method
- TIEBitmap: added TIEBitmap.Create overload (create from buffer)
- TIEBitmap: added TIEBItmap.Read overload (read from buffer)
- Added: TImageEnMView.OnAfterEvent event

Changes to Method Parameters
- IEV_ALL_SELECTED_OBJECTS can now be specified as parameter for TImageEnVect.RemoveObject, TImageEnVect.RotateObject, TImageEnVect.SetObjFrontOf, TImageEnVect.SetObjBackTo and TImageEnVect.CopyObjectToBack
- TImageEnVect.ObjIsClipboardAvailable now has bIncludeImages parameters
- IEM_SELECTED_IMAGES or IEM_ALL_IMAGES can now be specified as parameter for TImageEnMIO.PrintImage and TImageEnMIO.DoPreviews
- Consts can now be specified for TImageEnView.LayersMove to move the layer back/forward

Compatibility Issues
- Changed default preview background of Open/Save dialogs (iegPreviewImageBackgroundColor and iegPreviewImageBackgroundStyle)
- TImageEnMView.DeleteSelectedImages now even deletes the selected image if multiselect is disabled or in single view mode
- Renamed undocumented TImageEnProc.CutTransparentBorder to TImageEnProc.CropTransparentBorder

 

ImageEn 4.1.4 (20 OCT 2012)


- IEVisionLib now is a function instead of public variable
- now ievision.dll is loaded when actually requested
- 64 bit compatibility (beta stage)
- TImageEnView: optimized rendering of CMYK (native) images
- TImageEnView: now ZoomFilter works for all pixel formats

 

ImageEn 4.1.3 (28 SEP 2012)


- BUGFIX: TImageEnVect.SetObjFont: now works correctly with Delphi 2010 and up
- added Delphi/C++Builder XE3 compatibility
- now J2000_Rate default is 0.07
- BUGFIX: TIEICC.Transform changes input buffer when input format is iecmsBGR

 

ImageEn 4.1.2 (18 AUG 2012)


- BUGFIX: TImageEnProc.Opening, produces white border around black/white images
- TImageEnView: added TImageEnView.ImageHorizAlignment property
- TImageEnView: added TImageEnView.ImageVertAlignment property
- now it is possible to align the image at top-left, top-center, top-right, center-left, center-center, center-right, bottom-left, bottom-center and bottom-right
- TImageEnMView: added TImageEnMView.SetThumbnailSize method
- BUGFIX: fixed minor bugs
- TImageEnMView.LoadFromFileOnDemand: added optional parameter "Append"
- TIEAnimation: added BorderPen property
- TImageEnVect: added TImageEnVect.SetObjAnglePoints method
- TImageEnVect: added TImageEnVect.ObjAnglePoints property
- now it is possible to create and define an angle object in code
- BUGFIX: fixed bug that sometimes writes wrong pixels in the right-side of last line when compressing TIFF with ioTIFF_G3FAX1D
- BUGFIX: fixed bug that sometimes writes wrong pixels in the right-side of last line when compressing TIFF with ioTIFF_CCITT1D and TIFF_FillOrder=2
- BUGFIX: writing BMP when PixelFormat=ie8g and NativePixelFormat=true
- BUGFIX: reading gray scale, tiled, JPEG encoded TIFF when NativePixelFormat=true
- now selected layer box and grips are displayed over all layers
- now a box is displayed when rotating a layer
- BUGFIX: TIEDirectShow.EndOfStream now works (when parent of TIEDirectShow is TImageEnView.IO)
- TIOParamsVals: added EXIF_GPSLatitude property
- TIOParamsVals: added EXIF_GPSLongitude property
- BUGFIX: TImageEnIO.LoadFromStream doesn't set Aborting=true when file content type is not detected
- TIEBitmap: now it is possible to apply a zoom filter when PixelFormat=ieVirtual
- TIEPixelFormat: removed ieVirtual value (introduced with 4.1.0 version)
- TIEBitmap: added TIEBitmap.VirtualBitmapProvider property
- TIEBitmap: added TIEBitmap.IsVirtual property
- TIEBitmap: added TIEBitmap.GetSegment method
- TIOParamsVals: added TIOParamsVals.TIFF_StripCount property
- now it is possible to specify number of strips in a TIFF file
- DICOM: enhanced support for lossless-jpeg compression
- BUGFIX: incorrect matching of Twain devices name
- BUGFIX: wrong image display when Operation<>ielNormal on the first layer and Zoom > 100
- BUGFIX: TImageEnMIO print preview dialog, now centimeters label is displayed correctly
- BUGFIX: duplex in WIA doesn't work
- BUGFIX: now Opening/Closing/Maximum/Minimum for B/W images works correctly
- BUGFIX: fixed DICOM gray scal pixel ranging problem
- TImageEnView: added TImageEnView.DelLastSelPoint method
- Now it is possible to remove last inserted selection point (when MouseInteract = [miSelectPolygon])
- Added: Const array of languages available for IEVision OCR
- Added: SaveSelected parameter for TImageEnMView.SaveToFilePDF and TImageEnMView.SaveToStreamPDF
- Fixed: TIEAquireParams.SetSource may not work if Unicode string is passed as Location parameter
- BUGFIX: PSD, enhanced reliability on corrupted files
- now it is possible to rotate layer 0 using MouseInteract=[miRotateLayers]
- TImageEnMView: added TImageEnMView.OnAnimationText event
- TImageEnMView: now SaveSnapshot saves also ImageTag property
- TImageEnVect.CopyObjectToBack: added AdaptBitmapPixelFormat parameter
- TImageEnVect.DrawObjectsToBitmap: added AdaptBitmapPixelFormat parameter
- TImageEnVect.DrawOneObjectToBitmap: added AdaptBitmapPixelFormat parameter
- TImageEnVect.CopyObjectsToBack: added AdaptBitmapPixelFormat parameter
- now it is possible to draw vectorial objects over Black/white images (without RGB conversion). Experimental feature.
- TIEAcquireParams.FindSourceByName to locate devices using only their name
- TIEAcquireParams.SetSourceByStr now works even if a device name is passed
- IEVision Initialize overloaded method allows passing an alternative DLL path
- BugFix: May get A/V error when accessing AcquireParams properties if source has not been set
- BugFix: Transition may not occur in correct direction
- BUGFIX: reading G4FAX with PhotometricInterpretation=BLACKISZERO has inverted colors
- TImageEnProc.AdjustTint: added two overloads (to exclude color ranges from tint adjust)
- TIOParamsVals: added TIFF_NewSubfileType property
- TIFF: supported Deflate/ZIP with FillOrder=2 and with separated planes
- TImageEnIO.SaveToFile: now can save LYR and ALL file formats when TImageEnIO is attached to TImageEnView or TImageEnVect
- BUGFIX: fixed bug in Layer.Operation=ielLuminosity
- TImageEnMView: added TImageEnMView.Sort overload to simplify image sorting
- TIERenderOperation: added ielLuminosity2 value (uses YCbCr)
- TIERenderOperation: now ieLuminosity uses HSL instead of HSV
- Changed: StrToAcquireSource() raises error if invalid source string is passed

 

ImageEn 4.1.0 (22 FEB 2012)


- BUGFIX: May get Div by Zero error with TImageEnMView if GridWidth = -1 and the component is narrower than one thumbnail.
- TIETwainParams: added TIETwainParams.AcceptedImages property
- TIETwainParams: added TIETwainParams.AutoScan property
- Twain: now it is possible to limit number of acquired images or automatically acquired
- Dicom: supported YBR_FULL pixel format
- TImageEnIO.CreateAVIFile: now "rate" is double
- now it is possible to create AVI files with floating point rate values
- TIOParamsVals.AVI_FrameDelayTime: now is double
- TIOParamsVals.MEDIAFILE_FrameDelayTime: now is double
- TImageEnMView.ImageDelayTime: now is double
- TIETwainParams: added TIETwainParams.DeviceOnline property
- now TImageEnView and TImageEnMView exposes Touch property
- BUGFIX: in TImageEnProc.AddInnerShadow when OffsetX and OffsetY are != 0
- BUGFIX: reading mpeg on Vista
- BUGFIX: fixed TImageEnVect.CopyObjectToBack
- now TImageEnVect.CopyObjectToBack and CopyObjectsToBack support multiple layers
- added units: iexAcquire.pas, iexacquireform.pas, iexdcim.pas
- Added: New TIEAcquireClass 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 clearnign of the selection when clicking the TImageEnView
- Removed: TImageEnView.TransitionStartRect, TImageEnView.TransitionEndRect, TImageEnView.TransitionRectMaintainAspectRatio
- 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
- Changed parameters for TImageEnIO.Acquire, ImageEnMIO.Acquire
- Changed parameters for TImageEnIO.SelectAcquireSource and TImageEnMIO.SelectAcquireSource
- TImageEnProc.RadialStretch: now supports alpha channel
- TImageEnVect: added optional hobj parameter to SaveToFileIEV and SaveToStreamIEV (to save a single object only)
- TImageEnMView, TImageEnView: exposes OnResize event
- TIEBitmap: added TIEBitmap.GetIEVisionImage method
- PDF: now each PDF page is cached to disk instead of memory to allow bigger PDFs
- TImageEnVect: added AppendObjects optional parameter (avoids to remove existing objects) to LoadFromFileIEV and LoadFromStreamIEV
- TImageEnView: added TImageEnView.SelectionGridWidth property
- TImageEnView: added TImageEnView.SelectionGridHeight property
- TImageEnVect: TImageEnVect.StretchTextRect method
- TImageEnVect.TIEVStyle: added ievsHideGrips value
- now TImageEnVect.ObjTextAutoSize works also on displaying (only for iekTEXT objects) instead of only on editing
- TImageEnProc.SelPasteFromClip: added MaintainAspectRatio optional parameter
- BUGFIX: random exceptions on-exit after Twain usage
- TIEBitmap: added TIEBitmap.AlphaChannelOpt property
- BUGFIX: fixed minor bugs on TIFF saving (with empty UserComment tag)
- TIEBitmap.MergeWidthAlpha: added optional Resample parameter
- TImageEnVect.CopyObjectToBack, CopyObjectsToBack, DrawOneObjectToBitmap, DrawObjectsToBitmap: added optional MergeAlpha parameter
- now it is possible to merge objects (CopyObjectsToBack) over transparent images
- TImageEnVect: added TImageEnVect.OnTextEdit event
- TImageEnView: added TImageEnView.DisplayGridLyr property
- Changed: Acquire defaults to Twain
- 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)
- BUGFIX: sometimes alpha channel is not processed correctly when Layers[].Rotate is 90, 180, etc..
- optimized loading of jpeg-CMYK, without ICC profile
- TIEPixelFormat: added ieVirtual value
- TIEBitmap: added TIEBitmap.OnRenderVirtualPixel event
- TImageEnView: now selection mask buffer is allocated only when actually necessary
- TImageEnView: now TImageEnView.SetInteractionHint is public
- PNG: now alpha channel is read also when NativePixelFormat is true with paletted images
- BUGFIX: now TImageEnProc.Crop and TImageEnView.LayersFixBorders work with ie8p pixel format

 

ImageEn 4.0.2 (31 OCT 2011)


- Delphi XE2 (32 bit) compatibility
- BUGFIX: now iegUseGDIPlus works again
- TImageEnIO: added TImageEnIO.OnAcquireClose event
- TImageEnMIO: added TImageEnMIO.OnAcquireClose event
- BUGFIX: reading mpeg with Windows 7 (and maybe other versions)
- TImageEnVect: added TImageEnVect.ObjLayer property
- TImageEnVect: added TImageEnVect.ObjAnchorToLayers property
- now vectorial objects are anchored to a specific layer
- TIFF: supported 12 bit gray scale, uncompressed
- TImageEnProc.UnsharpMask: changed radius parameter to double
- BUGFIX: writing EXIF-makernote of FUJIFILM cameras
- Added: Cube Rotate, Soft Wipe and Twist transitions
- Added: Enhanced book flip transition
- Added: "Maintain Aspect Ratio" parameter for TImageEnProc.Resample and ResampleTo
- Added: TImageEnView1.ZoomIn and ZoomOut methods
- 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
- Added: Overloaded versions of TImageEnMView.InsertImage for quicker insertion of images by bitmap or path
- Added: TImageEnProc.CreateTransitionBitmap to return a set of transition frame images
- Added: TImageEnMView.InsertTransitionFrames to insert a set of transition frame images
- Default type in save dialogs is JPEG
- Save dialog defaults to file type of specified filename first
- Added: FilterDefault property for TOpenImageEnDialog and TSaveImageEnDialog
- Some additions to documentation
- Compatibility with IEVision 1.0

 

ImageEn 4.0.1 (29 AUG 2011)


- TImageEnView: added TImageEnView.OnDrawLayer event
- BUGFIX: TImageEnMView and GridWidth=0, selection doesn't work
- localization: moved english words into resourcestrings
- TImageEnView.LayersAdd: added PosX and PosY optional parameters
- BUGFIX: displaying memo objects and setting margins
- TImageEnView, TImageEnMView and TImageEnVect: Draws themed borders if THEMED_BORDERS is defined in ie.inc
- TImageEnProc, TImageEnIO and TImageEnMIO: Added ImageEnVersion property
- TImageEnView, TImageEnMView and TImageEnVect: Exposed OnContextPopup event
- BugFix: Some issues with Pan Zoom movement
- TImageEnIO, TImageEnMIO and TImageEnProc: Added PreviewFontEnabled property. When disabled (default) a Windows standard GUI font is used for preview dialogs
- BugFix: Dialogs may display oddly with use of some fonts
- Changed: Default Background style changed to iebsSolid
- Changed: Preview dialogs use iegPreviewImageBackgroundStyle and iegPreviewImageBackgroundColor for previews
- BugFix: Destination Preview in ImageEnProc.Preview dialog did not use iegDefaultPreviewsZoomFilter
- now 8 bit gray scale -> 24 bit RGB uses BlackValue and WhiteValue parameters
- TIEBitmap: added TIEBitmap.StretchValues method
- fixed bug inserting/deleting images in TImageEnMView when an animation is active
- TIEAnimation: added TIEAnimation.DeleteImage method
- TIEAnimation: added TIEAnimation.InsertImage method
- BUGFIX: RGB->CieLab conversion
- BUGFIX: DoPreviews of TImageEnProc, User Filter on Delphi 2007 doesn't work
- TImageEnMView: added SetImage overload
- TImageEnMView: added TImageEnMView.CalcGridHeight method
- TImageEnMView: now scrolls when selecting with mouse and TrackMouseSelection is True
- TImageEnMView: deprecated AppendImage2 (use an overload of AppendImage instead)
- TImageEnMView: added overload of AppendImage (replacing AppendImage2)
- BUGFIX: OnFinishWork not called in TImageEnMIO.LoadFromURL
- Enhanced support for reading of EXIF info from RAW camera formats
- TImageEnIO.SaveToFile: added optional parameter ImageFormat
- TImageEnIO.LoadFromFile: added optional parameter ImageFormat
- TImageEnDBView: added TImageEnDBView.UseMemoryStream property
- TImageEnDBView: added TImageEnDBView.OnBeforeLoadImage event
- BUGFIX: fixed memory leak drawing selection rectangle
- BUGFIX: TImageEnProc.CastAlpha raises exception with one pixel selections
- TImageEnIO: added TImageEnIO.Seek method
- DCX, ICO, CUR: now TIOParamsVals.ImageCount is valued
- now TImageEnIO.LoadFromFile can load frames from WMV and MPEG formats
- added TIECommonDialog.FileView property
- 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
- WIA: fixed compatibility problems with some devices
- TRulerBox: added TRulerBox.OffsetX property
- TRulerBox: added TRulerBox.OffsetY property
- Other\RulerBox example: now it is possible to center the image

 

ImageEn 4.0.0 (13 JUL 2011)


- BUGFIX: fixed bug in TImageEnMIO.PrintImage
- BUGFIX: fixed bug in TImageEnMIO.PrintImagePos
- BUGFIX: fixed bug playing video (AV on closing application)
- TIOPNGFilter: added ioPNG_FILTER_UP value
- TIOPNGFilter: added ioPNG_FILTER_AVG value
- TIOPNGFilter: added ioPNG_FILTER_ALL value
- BUGFIX: fixed bug reading some corrupted TIFF-maker notes
- BUGFIX: fixed bug writing CCITT files (compatibility with some FAX devices)
- BUGFIX: fixed minor bugs
- TIEDirectShow: now it is possible to change camera input frame size in TIEDirectShow.Connect
- BUGFIX: fixed bug reading some jpegs
- TImageEnView: added TImageEnView.SelectedRect property
- BUGFIX: fixed bug in TImageEnIO.SaveToText method
- better alpha channel support in Bilinear filter
- TImageEnMView: added TImageEnMView.OnImageAtPos event
- TImageEnMView: added TImageEnMView.OnCreateImage event
- TImageEnMView: added TImageEnMView.OnDestroyImage event
- added example multipage\customthumbs2 which shows how add checkboxes to thumbnails
- Changed: Various improvements to layout of TImageEnProc Preview dialog
- Fixed: Tab order in 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
- Fixed: Tab order in TImageEnIO Preview dialog
- Fixed: Preview for TImageEnMIO may not show Lock Preview checkbox
- Added: Delayed enactment of preview in TImageEnIO while changing values
- Fixed: Print preview dialogs do now have a default caption
- Changed: Various improvements to layout of Print Preview dialogs
- Fixed: Tab orders in Print Preview dialogs
- added iegDefaultPreviewsZoomFilter global property
- jpeg loading: now jpeg header DPI info have priority over EXIF dpi
- added unit ieanimation
- added TIEAnimation class
- added TIEHorizontalFlow class
- added TIECircularFlow class
- added TIEImageList class
- TImageEnMView: added TImageEnMView.Animation property
- TImageEnMView.ReleaseBitmap: added parameter saveChanges
- now it is possible to present images in TImageEnMView using animations like coverflow
- TImageEnMView: added TImageEnMView.TrackMouseSelection property
- TImageEnMView: now it is possible to show mouse selection as semi-transparent rectangle
- Now shows preview of thumbnail printing in TImageEnMView.PrintPreview
- 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
- Now TIEMText.TruncSide default is iemtsLeft
- TImageEnView: added TImageEnView.HighlightedPixelColor property
- TImageEnMView: added TImageEnMView.CalcGridWidth property
- TImageEnMView.ImageAtPos: added optional parameter checkBounds
- TImageEnMView: added TImageEnMView.CheckThumbBoundsOnSelect property
- TImageEnProc.ProjectDraw: added mergeAlpha parameter
- TImageEnProc.PerspectiveDraw: added mergeAlpha parameter

 

ImageEn 3.1.2 (10 SEP 2010)


- Dicom: supported new compression types
- TIFF: reading TIFF with bogus StripByteCount tag
- 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
- TImageEnView: added OnSetCursor event
- TImageEnProc: now motion blur applies also to alpha channel, if present
- improved RGB to CIELab conversion
- added iegPanZoomQualityFilter public field
- added unit ieXCanvasUtils.pas
- added new 25 transitions
- BUGFIX: fixed bug mixing multiselections with keyboard and mouse
- DICOM: added ".v2" extension
- optimized layers rotation
- TIEBitmap: added TIEBitmap.CopyFromMemory method
- TIECanvas: added Rotate method
- TIECanvas: added Translate method
- TIECanvas: added ResetTransform method
- TIETIFFHandler: enhanced stability on corrupted tags
- optimized TImageEnView.LayersMerge and TImageEnView.LayersMergeTo methods
- added Delphi/C++Builder XE compatibility

 

ImageEn 3.1.1 (20 MAR 2010)


- TImageEnView: added TImageEnView.ResetState method
- BUGFIX: now TIEDirectShow.SetCurrentVideoFormat works (it is possible to change DirectShow video capture resolution in code)
- TImageEnVect: added TImageEnvect.MaxMovingDistance property
- TImageEnMView: added TImageEnMView.LockUpdateCount property
- TImageEnMView: added TImageEnMView.LockUpdate method
- TImageEnMView: added TImageEnMView.UnLockUpdate method
- BUGFIX: now asynchronous loading works (break in 3.1.0)
- TIEIPTCInfoList: added TIEIPTCInfoList.GetItemData method
- TIEIPTCInfoList: added TIEIPTCInfoList.GetItemLength method
- 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
- now it is possible to abort dcraw loading (using future dcraw versions)
- TImageEnVect: added TImageEnVect.ObjBlendOperation property
- TImageEnIO: added TImageEnIO.LoadFromResource method

 

ImageEn 3.1.0 (21 FEB 2010)


- now it is possible to remove EXIF tags setting their defaults
- BUGFIX: now TImageEnMView.OnViewChange works when moving scrollbars
- TImageEnProc.Reflection: added "percentage" parameter
- optimized TImageEnProc.Reflection method
- TPRPreviewsParamsItems: added prppResetSelectedTab value
- Preview dialog: now "Reset" button can reset only visible tag (optional behavior)
- BUGFIX: in ExtractTIFFImageFile procedure
- added TIEHashStream class
- supported MD2, MD4, MD5 and SHA hashing algorithms (to create hash of a image file or of a bitmap)
- TIEBitmap: added TIEBitmap.GetHash method
- BUGFIX: fixed rounding math problem with ielScreen layer blend operation
- TIERenderOperation: added ielStereoEven and ielStereoOdd values
- EXIF Make note: supported FUJIFILM tags
- TImageEnMIO.SaveToStreamTIFF: added optional SaveSelected parameter
- TImageEnMIO.SaveToFileTIFF: added optional SaveSelected parameter
- TImageEnMView: now it is possible to save only selected images using SaveToStreamTIFF and SaveToFileTIFF methods
- TImageEnProc: added TImageEnProc.Convolve method
- added IEGetCoresCount public function
- added iegDefaultCoresCount public field
- TImageEnProc: added TImageEnProc.CalcAverageRGB method
- optimized rfTriangle, rfHermite, rfBell, rfBSpline, rfLanczos3, rfMitchell, rfNearest, rfLinear filters for multicore processing
- TImageEnVect: optimized polyline drawings
- BUGFIX: bug making undo of angle and polyline objects
- EMF/WMF: now metafiles are loadable from streams
- BUGFIX: fixed bug in TIEBitmap.LoadRAWFromBufferOrStream related to alpha channel
- BUGFIX: dialogs now are center on the same desktop of the parent window
- 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
- ievect unit: added ieMeasureUnits public field
- now it is possible to change TImageEnVect measure unit strings
- TImageEnMView.FillFromDirectory: added FilterMask optional parameter
- BUGFIX: now TImageEnMIO.LoadFromFiles calls OnProgress events
- BUGFIX: image processing preview, FFT area is not restored correctly
- now TImageEnIO.CreateAVIFile, returns an error value
- BUGFIX: layers cannot be moved dragging the center
- TImageEnView: added TImageEnView.LayersResizeAspectRatio property
- supported Unicode characters on preview, opensave and printing dialogs, for Delphi 2009 and Delphi 2010
- TImageEnProc: added TImageEnProc.FTClearZone method
- TImageEnMIO: added TImageEnMIO.LoadFromBuffer method
- TIOParamsVals: added TIOParamsVals.IsResource property
- added TIEResourceExtractor class
- now it is possible to load images from resources in PE files (EXE, DLL, OCX, ICL, etc...)
- TImageEnIO: added TImageEnIO.ParamsFromBuffer method
- TImageEnView: added TImageEnView.OnVirtualKey event
- TImageEnProc: added TImageEnProc.MatchHSVRange method
- 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
- TImageEnView: added TImageEnView.SetLayersBoxStyle method
- TImageEnMView: added TImageEnMView.ImageUserPointer property
- TImageEnMView: added TImageEnMView.DefaultBottomTextFont property
- TImageEnMView: added TImageEnMView.DefaultTopTextFont property
- TImageEnMView: added TImageEnMView.DefaultInfoTextFont property
- added TIERFBClient class
- now it is possible to create a RFB (VNC) client using TIERFBClient objects
- BUGFIX: TImageEnVect, memo texts now are correctly displayed with vertical bounding box size is not enough
- TIEUnits: added ieuFEET, ieuYARDS, ieuMILES values
- TImageEnVect: added TImageEnVect.OnPresentMeasure event
- open/save dialog: support for non-Unicode OS (Win98/WinME)
- BUGFIX: better font size handling for Wang Imaging annotations
- TIEMultiSelectionOptions: added iemoLeaveOneSelected value (TImageEnMView.MultiSelectionOptions property)
- now TImageEnProc.Fill works with all pixel formats
- TIELayerEvent: added ielBeginResizing and ielBeginMoving values (and related events)
- TImageEnProc: added TImageEnProc.UnsharpMask method
- added Hungarian translation

 

ImageEn 3.0.5 (12 OCT 2009)


- 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
- BUGFIX: fixed problem reading some unicode EXIF_UserComment tags
- BUGFIX: fixed problems reading RLE encoded images
- BUGFIX: fixed some minor bugs reading DICOM files
- TIERenderOperation: added ielStereoBW, ielStereoColor, ielStereoColorDubois values
- BUGFIX: TaskName parameter of printing preview dialogs now works
- EXIF: set several tags defaults to -1 instead of 0
- TIETIFTagsReader.GetRational: added defaultValue optional parameter
- TIETagsHandler.GetRational: added defaultValue optional parameter
- TImageEnMView: now SaveSnapshot saves also StoreType property
- TImageEnMView.SaveSnapshot: added optional parameter SaveParams, to save input/output parameters and tags
- 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 minor bugs

 

ImageEn 3.0.4 (26 SEP 2009)


- TIOParamsVals: added TIOParamsVals.BMPRAW_DataFormat property
- now SaveToFileBMPRAW/SaveToStreamBMPRAW/LoadFromFileBMPRAW/LoadFromStreamBMPRAW supports text data
- TImageEnProc: now TImageEnProc.DisposeChannels accepts "0" value
- now TImageEnProc.DisposeChannels works also with ie48RGB pixel format
- TImageEnView, LayersAdd: added two optional parameters, PosX and PosY
- FIXED BUG: THistogramBox cannot be placed on forms using Delphi 2009
- TImageEnView: added TImageEnView.OnTransitionPaint event
- FIXED BUG: reading big-endian 16 bit CMYK-TIFF
- FIXED BUG: wrong width/height reading some HDP
- TImageEnView: added TImageEnView.SetSelectionMarkOuterStyle method
- TIFF: added support for reading >2GB TIFF files (max 4GB)
- FIXED BUG: memory leak in TIEMediaReader
- FIXED BUG: ondisk cached images cannot exceed 2GB
- now object aspect ratio works on all grips
- TIPDialogParams: added EQUALIZATION_EqualizeButton field
- TImageEnProc: added TImageEnProc.MotionBlur method
- TImageEnProc: added TImageEnProc.Random method
- now supported reading of 16 bit gray scale PGM
- TImageEnProc: added TImageEnProc.MapGrayToColor method
- FIXED BUG: reading some TIFF files
- FIXED BUG: bad selection precision
- TIEDirectShow.GetSample: added "resample" parameter
- added 22 extra transitions
- TImageEnMView: added TImageEnMView.DisplayImageAt method
- TImageEnVect: added TImageEnVect.InsertingPen property
- TImageEnMView: now SetImageRect copies also transparency
- TImageEnMView: added TImageEnMView.AppendSplit method
- TImageEnProc: added TImageEnProc.CreateFromBitmap method
- TImageEnIO: added TImageEnIO.CreateFromBitmap method
- TIOParamsVals.EXIF_UserComment: changed type from AnsiString to WideString
- better Unicode support for EXIF user comment tag
- TImageEnProc.AdjustTemperature: now works on current selection
- enhanced support for EXIF_UserComment tag
- FIXED BUG: reading Unicode file names with ParamsFromFile
- open/save dialogs now support Unicode file names (for Delphi non Unicode versions)
- TOpenImageEnDialog: added TOpenImageEnDialog.FileNameW property
- TSaveImageEnDialog: added TOpenImageEnDialog.FileNameW property
- DICOM: now OnProgress works
- now ImageEn writes only changed or new EXIF tags
- now TImageEnMView supports native pixel formats
- ICO: enhanced compatibility
- TImageEnMView: better disk cache handling
- FIXED BUG: now Deinterlace, EdgeDetect_Sobel, ApplyFilter
- TImageEnView: added TImageEnView.SaveState method
- TImageEnview: added TImageEnView.LoadState method
- TIEBitmap: added TIEBitmap.UpdateFromTBitmap method
- FIXED BUG: TIEIPTCInfoList.InsertStringItem now works
- TIEBitmap: added TIEBitmap.Origin property (improved compatibility with OpenCV)
- TImageEnVect: added TImageEnVect.GetIndexFromObj method
- TIEBitmap.EncapsulateMemory: added Origin optional parameter
- added Delphi 2010 compatibility
- DICOM: added jpeg2000 (lossy) decompression
- TIETransitionType: added iettPageFlipEffect and iettPageFlipEffect2 effects
- Optimized MagicWand performance
- TImageEnProc: now ieuObjectsAndLayers applied to TImageEnView saves all layers to undo/redo stack
- 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
- TImageEnMView: added TImageEnMView.ImageTag property
- TImageEnVect: added TImageEnVect.ObjBitmapHandleTransparencyOnSel property
- TImageEnVect: now bitmaps transparent areas aren't selectable

 

ImageEn 3.0.3 (22 MAR 2009)


- TIEBitmap: added TIEBitmap.PPixels_ie32RGB property
- TIEBitmap: added TIEBitmap.Pixels_ie32RGB property
- TImageEnView: added TImageEnView.GetSelectionGripStyle method
- FIXED BUG: now selection grip shape can be iegsBox
- TImageEnProc.AutoCrop2: change type BorderRate to double
- FIXED BUG: fixed bug using LoadFromBuffer with ioBMPRAW format
- TImageEnMView: added TImageEnMView.ImageCacheUseDisk property
- FIXED BUG: TImageEnVect, memo with high font size is displayed incorrectly
- TImageEnView: added new overloads of LayersAdd method
- TImageEnView: added TImageEnView.LayersCopyToAlpha method
- TImageEnView: added TImageEnView.LayersCreateFromAlpha method
- now it is possible to create a layer from alpha channel
- now it is possible to copy a layer in image alpha channel
- imageenio: added iegUseDefaultFileExists public variable
- FIXED BUG: fixed memory leak saving ICO
- FIXED BUG: fixed bug in TImageEnMView.RemoveBlankPages
- now when TIFF_EnableAdjustOrientation/EnableAdjustOrientation is true, then EXIF orientation becomes 1
- hyieutils: added iegAutoLocateOnDisk public field
- TIETWainParams: added TIETWainParams.Language property
- TIETWainParams: added TIETWainParams.Country property
- TWain: now it is possible to set language and country of dialog (when available)
- hyieutils: added iegAutoFragmentBitmap public field
- TImageEnMView: now clicking on current visible image (when DisplayMode=grid) select it
- TImageEnView: added TImageEnView.SelectionGridSize property
- now it is possible to draw rectangular selection grid guides
- FIXED BUG: fixed minor bugs reading/writing XP Exif tags
- TIETIFFHandler: added TIETIFFHandler.MovePage method
- TIETIFFHandler: added TIETIFFHandler.ExchangePage method
- TImageEnProc: now TImageEnProc.Contrast accepts double values
- FIXED BUG: RotateAndCrop ignores "antialias" and "antialiasMode" parameters
- TImageEnView: added TImageEnView.OnViewChanging event
- TImageEnVIew: added TImageEnView.GetMaxViewXY method
- TWain properties: addded TIETWainParams.AutoDiscardBlankPages property
- FIXED BUG: wrong image reading color TIFF with inverted fill order
- TImageEnProc: added TImageEnProc.Reflection method
- added cover-flow style reflection effect
- TImageEnProc: added TImageEnProc.PerspectiveDraw method
- FIXED BUG: EXIF, ISO Speed Ratings is written when unset or written twice
- FIXED BUG: TImageEnProc.MakeTile doesn't save image in Undo stack
- TImageEnProc: added TImageEnProc.ProjectDraw method
- added bitmap projection and perspective drawing primitives
- optimized TIFF-LZW loading
- TImageEnProc: added TImageEnProc.AdjustTemperature method
- added adjust color temperature feature
- FIXED BUG: calling TImageEnView.LayersClear or TImageEnView.LayersMergeAll the background layer become unlocked
- TImageEnView: now it is possible to save layers with non-compressed native format (-2 option instead of -1)
- FIXED BUG: zooming with mouse wheel on negative placed screens produces wrong results
- TIESelectionOptions: added iesoRightButtonTerminatePolySelect value
- now it is possible to terminate a polyline selection using right mouse button (optional)
- TIETWainParams: added TIETWainParams.ShowSettingsOnly property
- TIETWainParams: added TIETWainParams.SourceSettings property
- 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: added TIETIFFHandler.LittleEndian property
- TIETIFFHandler: added TIETIFFHandler.Version property
- 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
- TImageEnProc: added TImageEnProc.IsClipboardAvailable method
- TImageEnView: SetNavigator, added "options" parameter
- now it is possible to zoom navigator rect using mouse wheel
- TImageEnVect: added TImageEnVect.ObjIsClipboardAvailable method
- TIETIFFHandler: added TIETIFFHandler.InsertPage method
- now it is possible to create TIFF from scratch using TIETIFFHandler
- now it is possible to copy pages among TIETIFFHandler objects
- TIETIFFHandler: added TIETIFFHandler.CopyTag method
- now it is possible to extract (or write) a single page from TIFF using TIETIFFHandler
- TImageEnView: added TImageEnView.IsNavigator property
- TIETIFFHandler, WriteFile: added "page" optional parameter
- TImageEnView: added TImageEnView.UpdateReason property
- improved TImageEnView navigator performance
- TImageEnIO: added TImageEnIO.InjectTIFFEXIF method
- now it is possible to inject EXIF in a TIFF file or stream
- FIXED BUG: TImageEnProc.RadialStretch, OnProgress percentage is wrong
- added iegWICAvailable public field
- TIOParamsVals: added TIOParamsVals.WMP_ImageQuality property
- TIOParamsVals: added TIOParamsVals.WMP_Lossless property
- TImageEnIO: added TImageEnIO.LoadFromFileWMP method
- TImageEnIO: added TImageEnIO.LoadFromStreamWMP method
- TImageEnIO: added TImageEnIO.SaveToFileWMP method
- TImageEnIO: added TImageEnIO.SaveToStreamWMP method
- supported loading/saving of Microsoft HD Photo (WMPhoto) file format (requires Windows XP (SP2) with .Net 3.0, Windows Vista)
- add new classes TIEWICReader and TIEWICWriter to support Microsoft Windows Imaging Component (requires Windows XP (SP2) with .Net 3.0, Windows Vista)
- TImageEnVect: now antialiasing is active also with softshadow
- TIEBitmap: added TIEBitmap.MergeWithAlpha method
- TIEBitmap: added TIEBitmap.Create overload
- added iewic unit
- FIXED BUG: memory leak in TImageEnProc.Wave when amplitude=0 and wavelength=0 (the default in image processing dialog)
- iegUseDefaultFileExists: now default is -false-, meaning ImageEn will use GetFileAttributes instead of FileExists
- TIEBitmap: added TIEBitmap.Write method
- TIEBitmap: added TIEBitmap.Read method

 

ImageEn 3.0.2 (23 OCT 2008)


- now TImageEnMView can load preview of IEV, ALL and LYR ImageEn formats
- TIESelectionOptions: added iesoRightButtonSelectLayers value
- now selection of objects with penWidth>1 works better
- BUG: fixed bug updating component inside OnCreate event
- BUG: fixed bug in MedianFilter
- optimized about 2x MedianFilter
- TImageEnMView.FillFromDirectory: added ExcludeExtensions parameter
- TIOParamsVals: added TIOParamsVals.OriginalWidth property
- TIOParamsVals: added TIOParamsVals.OriginalHeight property
- TImageEnMIO: added TImageEnMIO.SaveToFileICO method
- TImageEnMIO: added TImageEnMIO.SaveToStreamICO method
- now it is possible to save ICO using TImageEnMIO (or TImageEnMView.MIO)
- TImageEnView: added TImageEnView.LayersSelectConstrains property
- TImageEnView: added TImageEnView.BeginPostFrames method
- TImageEnView: added TImageEnView.EndPostFrames method
- now it is possible to send frames from a TImageEnView to another, with delay and a specific time intervals
- TIERulerBox: added TIERulerBox.Inverted property
- TIERulerBox: added TIERulerBox.ScrollRate property
- TIEUndoSource: added TIEUndoSource.ieuObjectsAndLayers value
- 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
- TIFF: added support for planar CMYK (8 bit)
- Delphi 2009 compatibility
- BUG: fixed bug with miScroll and multiple layers
- TImageEnView: added UnLockUpdateEx mehotd
- TImageEnMView: added two overloads to TImageEnMView.AppendImage method
- TImageEnMView: added TImageEnMView.RemoveBlankPages method
- BUG: fixed math rounding problems in Bicubic/Bilinear resampling methods
- TImageEnMView: TImageEnMView.SetImageFromFile added SourceImageIndex optional parameter
- TImageEnMView: TImageEnMView.SetImageFromStream added SourceImageIndex optional parameter
- TImageEnMIO: added TImageEnMIO.AllowMalformedPages property * 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

 

ImageEn 3.0.1 (7 Aug 2008)


- 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
- improved GIF loading speed
- supported filtered resampling for ie8g images
- TImageEnView: added TImageenView.LayersRotateStep property
- now pressing SHIFT rotating a layer, it is rotated in steps of LayersRotateStep values (default 45 degrees)
- BUG FIX: fixed memory leak loading some RAW formats
- added support for Turkish language
- BUG FIX: fixed memory leak in SeparateObjects and CreatePolygonsFromSelection
- TImageEnView: added TImageEnView.SetViewXYSmooth method
- TImageEnView: added TImageEnView.SmoothScrollValue property
- TIEMouseInteractItems: added TIEMouseInteractItems miMovingScroll value
- now it is possible to smooth scroll moving mouse (without click and drag)
- TImageEnView: added TImageEnView.SelectColors method
- BUG FIX: fixed bug on LayersMergeAll and LayersDrawTo with negative PosX and PosY and without Crop activated
- TImageEnProc: added TIEBitmap.CopyPaletteTo method
- enhanced quality of Rotate method (without antialias)
- TImageEnView: added LayersRotationAntialias property
- TImageEnView: fixed bug setting DisplayGrid=true
- TImageEnProc: added CompareHistogramWith method
- TIOParamsVals: added TIOParamsVals.EXIF_XPRating property
- TMsgLanguage: added msKorean value
- BUG: fixed memory leak saving PNG with text comments
- restored default JPEG_DCTMethod = ioJPEG_ISLOW
- BUG: sometime multilayer PSD cannot be handled correctly by Photoshop
- TImageEnVect: added TImageEnVect.ObjFontQuality property
- supported loading EXIF from Photoshop CS3
- TImageEnVect: added TImageEnVect.ObjEnableFastDrawing property
- added sample capture\captFromIPCamera to show how capture live frames from Gran IP Camera III
- TIOParamsVals: added TIOParamsVals.JPEG_CromaSubsampling property
- now it is possible to enhance jpeg quality with TIOParamsVals.JPEG_CromaSubsampling
- enhanced jpeg quality when TIOparamsVals.JPEG_Quality is 100
- improved speed of filtered resampling routines (like rfTriangle,etc..) and filtered display
- supports for ICC profiles reading PSD files
- TIOParamsVals: added TIOParamsVals.TIFF_GetTile property
- now it is possible to load a single tile from a tiled TIFF
- BUG: fail to read alpha channel from some PNG files
- BUG: fixed several bugs reading RAW formats
- added a strategy to allocate large images in fragmented blocks (to avoid out of memory on fragmented memory)
- BUG: now polyline lines are round joined
- BUG: saving GIF (with TImageEnIO) doesn't work with unicode file names
- TImageEnView: added FixRotationBorders property
- TIFF: now supported LZW compressed TIFF with inverted fill order
- TIFF: supported extra channels with premultipled and unassociated alpha channel

 

ImageEn 3.0.0 (23 Feb 2007)


- 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
- 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
- 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
- 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

 

ImageEn 2.3.2 (26 Sep 2007)


- TOpenImageEnDialog: added OnPreviewFile event
- TImageEnProc: added AutoImageEnhance3
- BUG: fixed bug in TImageEnMView.LoadSnapshot
- BUG: TImageEnIO.InjectJpegEXIF discards XMP tags
- BUG: TImageEnIO.InjectJpegIPTF discards XMP tags
- TImageEnIO: support for Unicode filenames
- TImageEnMView: support for Unicode filenames
- TImageEnView: added LayersCreateFromClipboard method
- TImageEnView: added SoftCrop property
- TImageEnView: added SoftCropValue property
- fixed several minor bugs
- added readonly baseline DICOM support
- added iedicom unit
- TIOFileType: added ioDICOM value
- TIOParamsVals: added DICOM_Tags property
- TIEDICOMTags
- TImageEnIO: added LoadFromFileDICOM method
- TImageEnIO: added LoadFromStreamDICOM method
- TImageEnMIO: added LoadFromFileDICOM method
- TImageEnMIO: added LoadFromStreamDICOM method
- now TImageEnProc.ShiftChannel supports ie48RGB pixel format
- TImageEnView: LayersFixSizes added -layer- parameter
- TImageEnProc: added CutTransparentBorder method
- TImageEnView.FindLayerAt: added SelectablesOnly optional parameter

 

ImageEn 2.3.1 (5 Aug 2007)


- now it is possible to save a snapshot (save images, caches, texts...) in a single file to instantly reload the component content
- now ImageEn can save DPI info inside jpeg saved with Photoshop and marked in APP13 tag
- now GammaCorrect applies also to 16 bit RGB images
- optimized memo objects display at high zoom rates
- Jpeg2000: now it is possible to save alpha channel. Warning: loading of alpha channel from jpeg2000 is still not possible
- now quote (iekRuler with quoting option) is more recise, also on zooming
- now angle objects points are editable
- TImageEnProc: added an overload of Crop method
- now ImageEn can undo/redo layers modifications made by user (resize, moving)
- enhanced Windows Vista compatibility
- TImageEnProc.Resample: now supports ie8g, ie16g, ie48RGB when filter is rfBicubic and rfBilinear
- added C++Builder 2007 compatibility
- BUG: fixed bug saving GIF loaded from another GIF in TImageEnMIO and with 1 bit color depth
- BUG: fixed bug with empty Bitmap vectorial objects and GraphicRender=true
- BUG: memo objects, now countours are more accurated
- BUG: open dialog, problems viewing vectorial objects and layers
- BUG: now ObjMemoCharsBrushStyle is correctly set when load imaging annotations
- BUG: fixed bug in CopySelectedObjectsTo, CopyObjectTo and CopyAllObjectsTo, copying bitmaps
- BUG: TImageEnMView.IsSelected doesn't return true when multiselecting is false
- BUG: fixed memory leaks in TImageEnVect
- BUG: fixed bug reading PSD thumbnail
- BUG: now OnZoomIn is fired when mouse interact contains miSelectZoom
- BUG: EXIF_GPSVersionID is saved with correctly data type
- BUG: fixed memory leak loading jpegs/tiff with gps info
- BUG: fixed memory leak reading CRW files
- BUG: now some icc embedded in jpeg are saved correctly
- BUG: fixed memory leak in TRulerBox
- TImageEnMView: added HighlightColor property
- TImageEnMView: added HighlightTextColor property
- TImageEnVect: added ObjRulerQuoteHorizon property
- TImageEnVect: added ObjAngleShowSmall property
- TImageEnMView: added SaveSnapshot method
- TImageEnMView: added LoadSnapshot method
- TIOParamsVals: added RAW_ExtraParams property
- TImageEnMView: added GetImageToFile method
- TImageenMView: added GetImageToStream method
- TIOParamsVals: added PSD_HasPremultipliedAlpha property
- TImageEnMIO: added PrintPreviewParams property
- TImageEnMIO: added LoadFromFiles method
- TIEPixelFormat: added ie32RGB
- TIEBitmap: added SynchronizeRGBA method
- imageenio unit: added iegColorReductionAlgorithm public field
- imageenio unit: added iegColorReductionQuality public field
- TImageEnVect: added SetObjBitmapFromStream
- TIEDirectShow: added DVDPlayAt method
- TIEDirectShow: added DVDGetProperty method
- TIEDirectShow: added DVDPlayAdvanced method
- TIEDirectShow: added DVDShowMenu method
- TIEUndoSource: added ieuLayer value
- TImageEnView: added LayersAutoUndo property
- TIEPolylineEndingMode: added ieemMouseUp value
- TIEWia: added ConnectedDeviceIndex property
- TImageEnMIO: added PrintImage method
- TImageEnMIO: added PrintImagePos method
- TImageEnMIO: added OnAfterAcquireBitmap method
- TOpenImageEnDialog, TOpenImageEnDialog: added OnCreateCustomControls event
- TOpenImageEnDialog, TOpenImageEnDialog: added OnDestroyCustomControls event
- TOpenImageEnDialog, TOpenImageEnDialog: added PicturePanel property
- TOpenImageEnDialog, TOpenImageEnDialog: added InfoPanel property
- added iegUseRelativeStreams gloabal variable
- TIEBitmap: added RenderToCanvasWithAlpha method
- added iedicom unit
- TImageEnProc.CropSel: added TransparencyOnly parameter
- TImageEnProc.AutoCrop2: now returns the area to crop or cropped. Also added a parameter to disabled cropping
- TImageEnProc.DoPreviews: added FormLeft and FormTop parameters
- TImageEnMIO.ExecuteOpenDialog: added MultiSelect parameter
- TImageEnProc.CopyToClipboard,SelCopyToClip,SelCutToClip: now returns a boolean value
- TImageEnProc.Undo: added AutoRedo parameter
- TImageEnProc.UndoAt: added AutoRedo parameter

 

ImageEn 2.3.0 (12 Apr 2007)


- BUG: now IPTC tags in some jpeg images are read correctly
- TImageEnMView: added OnImageDraw2 event
- BUG: now read/write of EXIF_GPSAltitudeRef tag is corrected
- BUG: opening existing IEV files

 

ImageEn 2.2.9 (2 Apr 2007)


- BUG: TImageEnVect, works badly when an upper layer is selected
- TIETWainProperties: added Highlight property
- TIETWainProperties: added Shadow property
- TImageEnProc.AddSoftShadow: added Intensity parameter
- TIOFileType: added ioIEV, ioLYR, ioALL file types
- now FindStreamFormat and FindFileFormat detects LYR (TImageEnView layers), IEV (TImageEnVect objects) and ALL (LYR+IEV) formats
- TImageEnIO: now LoadFromFileFormat can load ioALL, ioIEV and ioLYR formats (when attached or embedded in TImageEnVect or TImageEnView components)
- TImageEnIO: now LoadFromFile can load ioALL, ioIEV and ioLYR formats (when attached or embedded in TImageEnVect or TImageEnView components)
- TImageEnIO: now LoadFromFileAuto can load ioALL, ioIEV and ioLYR formats (when attached or embedded in TImageEnVect or TImageEnView components)
- TImageEnIO: now LoadFromStream can load ioALL, ioIEV and ioLYR formats (when attached or embedded in TImageEnVect or TImageEnView components)
- TImageEnIO: now LoadFromStreamFormat can load ioALL, ioIEV and ioLYR formats (when attached or embedded in TImageEnVect or TImageEnView components)
- now open dialog can read ALL, IEV and LYR formats
- TIEBackgroundStyle: added iebsPhotoLike value
- BUG: read of uncompressed black/white TIFF with FillOrder=2
- BUG: TImageEnMView, read thumbnails of WMF/EMF is very slow
- BUG: TImageEnMIO: fixed bug in LoadFromStreamFormat
- BUG: TImageEnVect: invisible objects now aren't selectable
- now AddSoftShadow handles correctly semi transparent images, antialiased images and images with holes
- BUG: AutoCrop2 not can handle large images

 

ImageEn 2.2.8 (15 Feb 2007)


- added IEAVIGetCodecs public function (imageenio unit)
- added IEAVIGetCodecsDescription public function (imageenio unit)
- new functions to read available AVI Codecs
- updated zlib to 1.2.3 version
- updated PNG lib to 1.2.14 version
- TIEDirectShow: added RenderVideo property
- TIEDirectShow: added SetVideoRenderRect method
- TIEDirectShow: added GetVideoRenderRect method
- TIEDirectShow: added GetVideoRenderNativeSize method
- TIEDirectShow: added DVDInputPath property
- TIEDirectShow: added DVDSelectAt method
- TIEDirectShow: added DVDActivateButton method
- now it is possible to play and grab frames in true real time a multimedia file, camera and DVD (DirectX 9 and WinXP required)
- now it is possible to render audio when grab frames (DirectX 9 and WinXP required)
- added new directshow examples: "VMR_video", "VMR_camera", "VMR_DVD", "VMR_capture"
- TImageEnProc: added Deinterlace method
- TImageEnView: added OffScreenPaint property
- now ImageEn is able to save back TIFF ICC profile, when not applied
- TImageEnView: added SaveSelectionToFile method
- TImageEnView: added LoadSelectionFromFile method
- TImageEnView: added MergeSelectionFromFile method
- BUG: ICO, fixed bug reading transparency of 32 bit icons
- TImageEnProc: added EdgeDetect_Sobel method
- TImageEnProc: added AutoCrop2 method
- TImageEnVect: now ObjUndoLimit can be 0
- TImageEnProc: now UndoLimit can be 0
- BUG: fixed bug in MoveImage when there is not selected image
- BUG: fixed bug reading jpeg in RGB color space and ICC profile
- now PasteFromClipboard can paste PNG format
- TImageEnIO: now Params.FileType is updated when SaveToFileXXX are called
- TIEDirectShow: added ReferenceClock property
- TIEDirectShow: added ClockErrorTolerance property
- TIETWainParams: added CapabilitiesValid property

 

ImageEn 2.2.7 (10 Dec 2006)


- unit hyiedefs: added iegDialogsBackground variable
- now background dialogs is selectable (solid, paper and metal Mac style)
- added overload of TImageEnProc.SeparateObjects
- TIFF: supported Abode-Style deflate compression (read only)
- TIOTIFFCompression, added ioTIFF_Deflate
- TIOParamsVals: added DefaultICCProfile property
- now it is possible to load an image specifing ICC profile (if not provided by the file)
- TImageEnProc: added OnSaveUndo event
- TImageEnView: added OnSaveUndo event
- TIEUndoSource: added ieuObject value
- TImageEnVect: added ObjUndoMode property
- now it is possible share undo/redo with TImageEnVect objects (look at ObjUndoMode)
- TImageEnMView: added ImageEnVersion property
- TIOParamsVals: added PSD_ReplaceLayers property
- TImageEnMIO: LoadFromStream method
- TImageEnMIO: LoadFromStreamFormat method
- TImageEnView: added LayersFixSizes method
- BUG: fixed "oleaut32" library not found
- TImageEnVect: added AllowOutOfBitmapPolylines property
- now polylines drawing out of bitmap is not allowed (unless AllowOutOfBitmapPolylines is true)
- read of XMP tags from TIFF saved using PhotoShop for Macintosh
- now temporary files are removed also when application crashes or is halted
- TIFF: supported loading of 2 and 7 bits per sample gray scale images
- BUG: bug when SelectionOptions contains iesoMarkOuter on upper layers

 

ImageEn 2.2.6 (8 Nov 2006)


- BUG: fixed bug in TImageEnVect.CreatePolygonsFromSelection method
- TImageEnProc: added SeparateObjects method
- added imageprocessing1\SeparateObjects example
- TIEDirectShow: added GetSupportedTVStandards method
- TIEDirectShow: added SetTVStandard method
- TIEDirectShow: added SetVCRHorizontalLocking method
- TImageEnProc: added RotateAndCrop method
- BUG: fixed bug in ParamsFromFile with external plugins (RA)
- BUG: fixed bug writing 4 bit ICO files
- now when an object is no resizeble, the grips aren't painted
- BUG: now objects aspect ratio works
- TIOParamVals: added TIFF_SubIndex property
- TIOParamsVals: added TIFF_ByteOrder value (readonly)
- TIFF: now it is possible to read images located in subifd
- BUG: fixed random bug on clipboard operations
- BUG: TImageEnMView, now supports all pixel formats
- TImageEnVect: now OnUserSelectObject is called after the object is selected

 

ImageEn 2.2.5 (7 October 2006)


- added multipage samples folder
- TImageEnMView: now MoveImage doesn't remove multiselection
- TIFF: added ZIP compression
- TIOTIFFCompression: added ioTIFF_ZIP value
- Params: added TIFF_ZIPCompression property
- BUG: now EXIF_XResolution and EXIF_YResolution contain non-truncated floating point values
- BUG: fixed bug using TIEBitmap.GetRow/FreeRow
- BUG: fixed bug in Rotation tab of image processing dialog
- BUG: fixed bug in TImageEnView.CenterImage method
- TImageEnIO: added ReplaceStreamTIFF method
- added Danish language
- imageenio.JpegLosslessTransform added UpdateExif parameter
- imageenio.JpegLosslessTransformStream added UpdateExif parameter
- imageenio unit: added JpegLosslessTransform overload
- BUG: TImageEnMView: fixed bug setting ScrollBars property at runtime
- TIFF: now offset values are word aligned as TIFF standard requires
- BUG: fixed bug reading alpha channel in GIF files
- PNG: now ImageEn can read correctly 16 bit gray scale
- TImageEnVect: added ObjAspectRatio property
- now it is possible to set aspect ratio for each object, individually
- now aspect ratio works on inserting bitmaps (when enabled)
- TImageEnProc.DoPreviews: added IsResizeable, FormWidth and FormHeight parameters
- now image processing dialog is resizeable
- BUG: TImageEnProc.ResampleTo calls SaveUndo
- TImageEnVect: added OnUserSelectObject event
- TImageEnVect: added OnUserDeselectObject event
- TImageEnVect: added GripImage property
- now it is possible to define a picture instead of standard objects grips
- now TImageEnIO.LoadFromFile sets Aborting=true and call OnFinishWork when the extension format is not recognized
- BUG: fixed bug in TIETIFFHandler, writing values on Motorola word format
- now when TImageEnMView.ThumbnailsBackgroundStyle is iebsCropShadow the actual background is read
- ieopensavedlg, TIEDBorderStyle: added iepsSoftShadow value
- imageenview, TIEBackgroundStyle: added iebsSoftShadow value
- BUG: now Params.GPS_VersionID contains right string value
- TImageEnVect: added new overload of AddNewObject method
- BUG: fixed bug in TImageEnMView.Sort
- TIEBitmap.RemoveAlphaChannel: added Merge and BackgroundColor parameters
- TIEBitmap: added CopyFromDIB method
- TIEBitmap: added CopyFromDIB method
- TIEBitmap: added CreateDIB method
- TIEBitmap: added CreateDIB method
- TImageEnVect: added ObjBoxInnerSelectable property

 

ImageEn 2.2.4 (13 Aug 2006)


- added ioPSD const in imageenio unit
- TImageEnIO: added LoadFromFilePSD method
- TImageEnIO: added LoadFromStreamPSD method
- now ImageEn supports read and write of Adobe Photoshop PSD images with single and multiple layers
- TImageEnIO.Params: added PSD_LoadLayers property
- TIOParamsVals: added EXIF_ExposureMode property
- TIOParamsVals: added EXIF_WhiteBalance property
- TIOParamsVals: added EXIF_DigitalZoomRatio property
- TIOParamsVals: added EXIF_FocalLengthIn35mmFilm property
- TIOParamsVals: added EXIF_SceneCaptureType property
- TIOParamsVals: added EXIF_GainControl property
- TIOParamsVals: added EXIF_Contrast property
- TIOParamsVals: added EXIF_Saturation property
- TIOParamsVals: added EXIF_Sharpness property
- TIOParamsVals: added EXIF_SubjectDistanceRange property
- TIOParamsVals: added EXIF_ImageUniqueID property
- BUG: fixed bug reading PNG with 1 bit depth and color map
- BUG: not animated gif are readable by Internet Explorer
- added unit iepsd
- TImageEnDBVect: added OnUnableToLoadImage event
- TImageEnDBView: added OnUnableToLoadImage event
- TImageEnView.LoadSelectionFromStream: added Options parameter
- TImageEnView.RestoreSelection: added Remove parameter
- TImageEnView.RestoreSelection: added Options parameter
- Now it is possible to share the same selection among layers
- Params: added BMP_HandleTransparency property
- TImageEnView: added LayersDrawTo method
- TImageEnView: added OnTransitionStep event
- Params.InputICCProfile: adde Copyrights and Description properties
- Params: added XMP_Info property
- now ImageEn is able to read and write XMP tags from Jpeg, TIFF and PSD file formats
- TImageEnIO: added SaveToStreamPSD method
- TImageEnIO: added SaveToFilePSD method
- TImageEnMView.FillFromDirectory: added Limit parameter
- imageenio unit: added IEFindNumberWithKnownFormat function
- TImageEnIO.Params: added following new properties: EXIF_GPSVersionID EXIF_GPSLatitudeRef EXIF_GPSLatitudeDegrees EXIF_GPSLatitudeMinutes EXIF_GPSLatitudeSeconds EXIF_GPSLongitudeRef EXIF_GPSLongitudeDegrees EXIF_GPSLongitudeMinutes EXIF_GPSLongitudeSeconds EXIF_GPSAltitudeRef EXIF_GPSAltitude EXIF_GPSTimeStampHour EXIF_GPSTimeStampMinute EXIF_GPSTimeStampSecond EXIF_GPSSatellites EXIF_GPSStatus EXIF_GPSMeasureMode EXIF_GPSDOP EXIF_GPSSpeedRef EXIF_GPSSpeed EXIF_GPSTrackRef EXIF_GPSTrack EXIF_GPSImgDirectionRef EXIF_GPSImgDirection EXIF_GPSMapDatum EXIF_GPSDestLatitudeRef EXIF_GPSDestLatitudeDegrees EXIF_GPSDestLatitudeMinutes EXIF_GPSDestLatitudeSeconds EXIF_GPSDestLongitudeRef EXIF_GPSDestLongitudeDegrees EXIF_GPSDestLongitudeMinutes EXIF_GPSDestLongitudeSeconds EXIF_GPSDestBearingRef EXIF_GPSDestBearing EXIF_GPSDestDistanceRef EXIF_GPSDestDistance EXIF_GPSDateStamp
- now ImageEn is able to read/write EXIF-GPS tags
- now Rotate supports all pixel formats (some without antialias)
- Params: added UpdateEXIFThumbnail method
- TImageEnMView: added OnFinishWork event
- BUG: TImageEnView.FindLayerAt: now doesn't return a layer that is not visible
- TImageEnVect: added PolylineEndingMode property
- no more support for Delphi3/Delphi4/C++Builder3/C++Builder4
- better support for TIFF (JPEG compressed) saved using Windows 2000/98 Imaging
- ievect unit: added iegMemoShortCuts public variable to specify memo text short cut keys
- now it is possible define custom short cut keys in Memo objects
- BUG: fixed bug writing long EXIF info
- TImageEnProc.IPDialogParams: added SetDefaultParams method
- TIFF: supported read of YCbCr (2:1) images
- BUG: fixed bug reading MEDIAFILE_FrameDelayTime property
- BUG: fixed memory fragmentation reading jpeg thumbnails (affected TImageEnMView)
- TIEBitmap.MemoryAllocator: added iemaAuto value (undocumented)
- BUG: fixed bug writing TIFF 8 bit paletted images
- TIEWia: added IsItemDeleted method
- TIEWia: added DeleteItem method
- now it is possible to delete WIA items (camera images)
- BUG: now Undo/Redo uses the right original layer
- BUG: fixed a memory leak using external plugins
- BUG: fixed bug writing PS (PostScript) files
- TImageEnView: added LayersMergeAll method
- TImageEnVect: added CreatePolygonsFromSelection method
- TIESpecialKeyEvent: added Shift parameter
- TImageEnIO: added overload of ImportMetaFile method
- now TImageEnProc.PasteFromClipboard can paste WMF/EMF metafile clipboard format
- TImageEnVect: added ObjMemoCharsBrushStyle property
- TIFF: support reading of ZIP (ZimpLevel) compressed images

 

ImageEn 2.2.3 (7 Mar 2006)


- now ImageEn is able to save back EXIF thumbnails (for jpegs)
- optimized PNG loading (memory optimization)
- TImageEnProc: added Intensity method
- TImageEnProc: added Contrast3 method
- BUG: fixed bug reading old IEV files
- TImageEnVect: added ObjTextEditable property
- TImageEnVect: performing miPutBox and pressing CTRL draws a square
- TIETWainParams: added Filter property (ICAP_FILTER capability)
- BUG: fixed minor bugs
- experimental: added Chinese (simplified and traditional) language only for dialogs
- TIELayer: added DrawOuter property
- BUG: fixed bug acquiring images using WIA under BDS 2006
- BUG: fixed bug selecting right/bottom sides with zoom>100
- TImageEnProc: added AutoConvertFormat property
- Image Processing: now ImageEn automatically converts PixelFormat when needed
- now it is possible to change font name and size of Angle objects

 

ImageEn 2.2.2 (19 Feb 2006)


- BUG: fixed bug writing jpegs in CMYK format with ICC profile
- TWainParams: added AutoDeskew property
- TWainParams: added AutoBorderDetection property
- TWainParams: added AutoBright property
- TWainParams: added AutoRotate property
- TIEBitmap: added CalcRAWSize method
- TIEBitmap: added SaveRAWToBufferOrStream method
- TIEBitmap: added LoadRAWFromBufferOrStream method
- TImageEnProc: copy/paste now can copy/paste using internal format (preserving pixel format and alpha channel)
- TImageEnProc.CopyToClipboard: added UseInternalFormat parameter
- TImageEnProc.SelCopyToClip: added UseInternalFormat parameter
- TImageEnProc.SelCutToClip: added UseInternalFormat parameter
- TImageEnProc.SelPasteFromClipStretch: added MergeAlpha parameter
- TImageEnProc.SelPasteFromClip: added MergeAlpha parameter
- TImageEnProc.PointPasteFromClip: added MergeAlpha parameter
- TIEBitmap: added CopyWithMask1 method
- TIEBitmap: added CopyWithMask2 method
- TIEBitmap: added AutoCalcBWValues method
- now ImageEn is able to copy/paste with alpha channel (using an internal format)
- TIELayer: added Selectable property
- now it is possible to make a layer un-selectable
- TWainParams: added UseMemoryHandle property to enhance twain compatibility
- Added Finnish language
- TIOPrintPreviewParams: added SaveToFile method
- TIOPrintPreviewParams: added LoadFromFile method
- TIOPrintPreviewParams: added SaveToStream method
- TIOPrintPreviewParams: added LoadFromStream method
- TImageEnProc: added Threshold2 method
- TImageEnProc: optimized Contrast method
- TImageEnProc: optimized IntensityRGBall method
- TImageEnProc: optimized WhiteBalance_GrayWorld method
- TImageEnProc: optimized WhiteBalance_coef method
- TImageEnProc: optimized WhiteBalance_WhiteAt method
- TImageEnProc: optimized WhiteBalance_AutoWhite method
- TImageEnIO: now save to file methods updated Params.FileName property
- Optimized layer masks
- TImageEnView: added OnDrawLayerBox event
- TImageEnView: added OnDrawLayerGrip event
- TImageEnView: now LayersSaveToXXX support compressed native (preserve pixelformat and alpha) image format (-1)
- added Farsi language (msFarsi)
- TImageEnVect: added ObjMemoHasBitmap property
- now iekMemo objects can have a background bitmap and margins
- fixed bug loading RAWs in Delphi 2005 and Delphi 2006
- TImageEnVect: added ObjMemoMarginLeft property
- TImageEnVect: added ObjMemoMarginTop property
- TImageEnVect: added ObjMemoMarginRight property
- TImageEnVect: added ObjMemoMarginBottom property
- TImageEnVect: added OnBeforeDrawObject event
- TImageEnVect: added OnAfterDrawObject event
- TImageEnVect: added ObjUserData property
- TImageEnVect: added ObjUserDataLength property
- TImageEnProc: added DisposeChannels method
- TImageEnView: now VisibleSelection property works

 

ImageEn 2.2.1 (8 Dec 2005)


- TImageEnProc: added IPDialogParams property
- TImageEnProc: now preview dialog saves all parameters
- TImageEnProc: now it is possible to get/set/load/save image processing dialog parameters
- TImageEnView: added TransitionRectMaintainAspectRatio property
- TImageEnView: added DisplayImageRect method
- TWainParams: now Rotation is TIEDoubleList instead of double
- TImageEnView: added OnTransitionStop event
- TImageEnView: added AbortTransition method
- TImageEnView: added TransitionTiming property
- now it is possible to set transition timing as linear, logarithmic and exponential
- TIEMText (TImageEnMView.TopText, BottomText, etc...): added BackgroundStyle property
- TImageEnMView: added ReloadImage method
- BUG: fixed a memory leak on TImageEnMView
- TImageEnView: added ZoomX property
- TImageEnView: added ZoomY property
- now it is possible to separate vertical zoom and horizontal zoom
- note: not fully supported by all vectorial objects
- now it is possible to stretch images (like TImage)
- note: not fully supported by all vectorial objects
- TImageEnProc: added AutoImageEnhance1 method
- TImageEnProc: added AutoImageEnhance2 method
- added new image enhancement algorithms
- TImageEnProc: added AutoSharp method
- TImageEnView: added Stretch method
- TImageEnMIO: added LoadFromFileFormat method
- TImageEnMIO: added LoadFromFileAuto method
- added CIELab pixel format (ieCIELab)
- imageenio unit: added IEOptimizeGIF procedure
- TImageEnProc: added ShiftChannel method
- TImageEnView: added LayersClear method
- TIELayer (TImageEnView.Layers[]): added Assign method
- TIELayer: added ConvXBmp2Scr method
- TIELayer: added ConvYBmp2Scr method
- TIELayer: added Name property
- TIELayer: added UserDataLen property
- TIELayer: added IsMask property
- now ImageEn supports layer masks (like Photoshop's layer masks)
- TImageEnView.LayersSync: now it is False for default
- TImageEnView: now pixelformat ie8g works also when LegacyBitmap=true
- IELayersMerge: added LayerMask parameter
- added Czech language
- TImageEnView.ZoomSelection: added AspectRatio parameter
- TImageEnView: added ZoomSelectionAspectRatio property
- TImageEnView: now OnLayerNotify occurs only on user (mouse) action
- TImageEnVect.RotateAllObjects: changed behavior. Now it must be executed before Proc.Rotate
- fixed bug in TImageEnVect.RotateAllObjects
- TImageEnProc: added AdjustBrightnessContrastSaturation method
- TImageEnProc: added Contrast2 method
- BUG: fixed bug reading and saving EXIF/TIFF mini strings
- BUG: ResetEXIF now removes EXIF tag from jpegs
- BUG: fixed two memory leaks
- now OnFinishWork/OnProgress is usable when AsyncMode=true
- TImageEnProc: added AdjustSaturation method
- TImageEnProc: added AdjustTint method
- TImageEnProc: added AdjustLumSatHistogram method
- TImageEnMView: added SelectionWidthNoFocus property
- TImageEnMView: added AppendImage2 method
- now selections supports multiple layers
- TImageEnView: added MouseScrollRate property
- TImageEnProc: added OnFinishWork event
- TImageEnView: added OnFinishWork event
- TImageEnMIO: added OnDoPreviews event
- TImageEnView: added LayersCreateFromSelection method
- imageenio unit: added JpegLosslessTransform2 function
- TImageEnVect: added SaveToFileAll method
- TImageEnVect: added SaveToStreamAll method
- TImageEnVect: added LoadFromFileAll method
- TImageEnVect: added LoadFromStreamAll method
- improved layers system
- BUG: fixed several memory leaks

 

ImageEn 2.2.0 (4 Sep 2005)


- TImageEnMIO.DoPrintPreview: added PrintAnnotations parameter
- TImageEnIO.DoPrintPreview: added PrintAnnotations parameter
- now print preview dialogs can print Wang Annotations
- BUG: fixed bug of AddSelPoint
- BUG: TImageEnMView, fixed bug selecting thumbnails
- TIEMText: added TruncSide property
- BUG: loading ICC from jpeg
- TImageEnMIO.DoPrintPreview: added Caption parameter
- TImageEnIO.DoPrintPreview: added Caption parameter
- BUG: jpeg, icc profile is not removed after it is applied
- Params: added EXIF_Artist property
- Params: added EXIF_XPTitle property
- Params: added EXIF_XPComment property
- Params: added EXIF_XPAuthor property
- Params: added EXIF_XPKeywords property
- Params: added EXIF_XPSubject property
- now ImageEn can read/write XP jpeg/tiff tags (title, comment, author, keywords and subject)
- BUG: now LayersSaveToFile/LayersSaveToStream restores previous current layer
- BUG: setting ImageEnMView.Height=0 causes exception
- TImageEnView: now Background color works also when BackgroundStyle is iebsCropShadow
- TImageEnMIO: added PrintingFilterOnSubsampling method
- TImageEnProc: added Colorize method
- BUG: fixed bug loading interlaced PNG
- removed RightBottomGap property
- now it is possible to set maximum CPU time for selections
- TImageEnView.DelayTimer: negative values specifiy CPU time for selections
- now when the component is not visible the selection doesn't allocate CPU time
- TImageEnProc: added UndoRect method
- imageenio: added IEAddExtIOPlugin function
- now ImageEn supports external (dll) plugins (experimental version)
- Params: added ImageIndex property
- Params: added ImageCount property
- Params: added GetThumbnail property
- optimized viewing when BackgroundStyle is chessboard
- TImageEnView.SelectionOptions (TIESelectionOptions): added iesoSelectTranspLayers value
- now aspect ratio works on all grips when resizing layers
- TImageEnVect: added ObjEditOnNewText property
- TIELayer.Magnify (TIELayerMagnification): added Source property
- TIELayer: added ResampleFilter property
- TIELayer: added UseResampleFilter property
- now magnify layer can get the source image directly from raw background image (layer 0) instead of component canvas
- now ImageEn recognizes (but don't load without a plugin) differences among TIFF and DNG
- BUG: tiff, cannot read palettes with values from 0 to 255
- TIOParamsVals: added ResetEXIF method
- Params (TIOParamsVals): added TIFF_FillOrder property
- now ImageEn can save TIFF with inverted fill order
- TIEWallPaperStyle has moved from iemview to imageenview unit
- TImageEnView: added WallPaper property
- TImageEnView: added WallPaperStyle property
- TImageEnView: now supports a wallpaper
- TIETIFFHandler: added SetValueRAW method
- TIETIFFHandler: added GetValueRAW method
- TImageEnVect: added SaveObjectsToTIFF method
- TImageEnVect: added LoadObjectsFromTIFF method
- TImageEnVect: now can read/write objects in TIFF
- BUG: fixed bug loading compressed TGA
- TImageEnVect: added CopyObjectToBack method
- TImageEnProc: added MakeTile method
- added Japanese language
- TImageEnMIO: added LoadFromURL method.
- TImageEnMIO: added ProxyAddress property
- TImageEnMIO: added ProxyUser property
- TImageEnMIO: added ProxyPassword property
- now TImageEnMIO can load multi-page files from URL
- TImageEnMIO: now LoadFromFile can load from url (http://...)
- now layers operations with transparency are supported also on merging
- TIFF: now alpha channel is saved also with LZW compression

 

ImageEn 2.1.9 (18 Jun 2005)


- TImageEnMView.BeginDrag: added Immediate and Threshold parameters
- now TImageEnProc.GetHistogram or THistogramBox gets the right histogram with non-rect selections
- TImageEnIO: added OpenMediaFile method
- TImageEnIO: added CloseMediaFile method
- TImageEnIO: added LoadFromMediaFile method
- TImageEnIO.Params: added MEDIAFILE_FrameCount property
- TImageEnIO.Params: added MEDIAFILE_FrameDelayTime property
- TImageEnIO: added IsOpenMediaFile method
- TImageEnIO: added IsOpenAVI method
- now FindFileFormat and FindStreamFormat can detect WMF and EMF file types
- TImageEnMView: now ImageFileName accepts the form: 'fullfilepath::imageindex' to load a multipage/video on-demand
- imageenio unit: added helper function IEGetFileFramesCount
- imageenio unit: added helper function IEExtToFileFormat
- TIEBitmap: added DrawToCanvas method
- TIEBitmap: added CopyAndConvertFormat method
- BUG: fixed problem with WIA transfers
- TImageEnIO.Params: added RAW_AutoAdjustColors property
- enhanced RAW quality
- now TImageEnVect.CopyObjectsToBack and DrawObjectsToBitmap works with all PixelFormats and Locations
- TImageEnMView: added MaintainInvisibleImages property
- TImageEnMView: added LookAhead property
- WIAParams: added TransferFormat property
- TImageEnMView: added OnAllDisplayed event
- TImageEnMView: added LoadFromFileOnDemand method
- BUG: fixed memory leak in TImageEnVect.RemoveAllObjects
- TImageEnMView: added OnImageDeselect property
- now ImageEn can read 48 bit CMYK (converting it to 24 bit CMYK)
- TIFF: now alpha channel is supported for writing (only uncompressed or PackBits compression)
- TWain: now read 48 bits RGB and 16 bit gray scale, also in native pixel format
- BUG: fixed bug reading black/white TGA
- BUG: fixed bug reading Olympus E1 RAWs
- BUG: TImageEnVect.Undo doesn't work
- TImageEnView: added SelectCustom method
- TImageEnProc: added AddInnerShadow method
- Add Inner Shadow effect
- added TIETIFFHandler class
- Added powerful class to handle TIFF files (add/edit/remove tags, add/delete pages, merge TIFFs, etc...)
- TImageEnVect: added AllowOutOfBitmapMoving property
- TImageEnVect: added EnableRangeObjectsSelection property
- JPEG: supported ICC reading
- TImageEnView.Layers[]: added ConvXScr2Bmp method
- TImageEnView.Layers[]: added ConvYScr2Bmp method
- supported RAW files (real RAW, not Camera RAW!)
- TImageEnIO, Params: added BMPRAW_ChannelOrder property
- TImageEnIO, Params: added BMPRAW_Planes property
- TImageEnIO, Params: added BMPRAW_RowAlign property
- TImageEnIO, Params: added BMPRAW_HeaderSize property
- TImageEnIO: added LoadFromFileBMPRAW method
- TImageEnIO: added LoadFromStreamBMPRAW method
- TImageEnIO: added SaveToFileBMPRAW method
- TImageEnIO: added SaveToStreamBMPRAW method
- TImageEnVect: added ObjArcStartingAngle property
- TImageEnVect: added ObjArcEndingAngle property
- TWainParams: added BitDepth property
- TImageEnMView: added EnableLoadEXIFThumbnails property
- Camera RAW: now ImageEn can load thumbnail from CR2 format
- TImageEnIO: added LoadJpegFromFileCRW method
- Supported Microsoft CMS (Color Management System), enable it writing iegEnableCMS:=true
- TImageEnView: added MergeSelectionFromStream method
- TImageEnMView: added CreateMorphingSequence method
- TImageEnProc: added WhiteBalance_coef method
- TImageEnProc: added WhiteBalance_GrayWorld method
- TImageEnProc: added WhiteBalance_WhiteAt method
- TImageEnProc: added WhiteBalance_AutoWhite method
- TImageEnProc: added AdjustGainOffset method
- PPM format: supported read/write 48 bit (RGB, 16 bit per channel)
- PDF: supported LZW compression
- Params.PDF_Compression: added ioPDF_LZW value
- Params: added PNG_TextKeys property
- Params: added PNG_TextValues property
- PNG: now ImageEn is able to read/write PNG text
- TImageEnView: added LayersSaveToStream method
- TImageEnView: added LayersSaveToFile method
- TImageEnView: added LayersLoadFromStream method
- TImageEnView: added LayersLoadFromFile method
- now ImageEn can read/write all layers and layers info on the same file
- imageenio unit: added IEAVISelectCodec function
- imageenview unit: added IELayersMerge procedure
- TImageEnProc: added CastColor method
- TImageEnProc: added CastAlpha method
- BUG: fixed bug reading compressed PCX files
- BUG: fixed bug writing PDF files (memory leak)
- BUG: fixed bug on layers
- TImageEnMIO: added NativePixelFormat property
- TIEWIA: added GetItemThumbnail method
- TIETransitionType added iettPanZoom value
- TImageEnView: added TransitionStartRect property
- TImageEnView: added TransitionEndRect property
- layers: now transparent regions are not selectable

 

ImageEn 2.1.8 (8 Mar 2005)


- added unit ieXtraTransitions
- added unit iepresetim
- added ieraw unit
- added 133 new values to TIETransitionType
- added new 133 extra transitions
- added TImageEnMView.SetPresetThumbnailFrame
- added TImageEnMView.ThumbnailFrame property
- added TImageEnMView.ThumbnailFrameSelected property
- added TImageEnMView.ThumbnailFrameRect property
- now TImageEnMView can show a background frame for each thumbnail
- BUG: TImageEnVect, fixed selection of lines with PenWidth>1
- TIEPixelFormat: added ie48RGB value
- supported RGB 48 bit (16 bit per channel) pixel format
- supported several RAW camera formats
- Params: added RAW_HalfSize property
- Params: added RAW_Gamma property
- Params: added RAW_Bright property
- Params: added RAW_RedScale property
- Params: added RAW_BlueScale property
- Params: added RAW_QuickInterpolate property
- Params: added RAW_UseAutoWB property
- Params: added RAW_UseCameraWB property
- Params: added RAW_FourColorRGB property
- Params: added RAW_Camera property
- TIOFileType: added ioRAW value
- TImageEnIO: added LoadFromStreamRAW method
- TImageEnIO: added LoadFromFileRAW method
- TImageEnIO: now LoadFromFile can load RAW camera formats
- TImageEnIO: now LoadFromFileFormat can load RAW camera formats
- TImageEnIO: now ParamsFromFile can read RAW camera formats
- TImageENIO: now ParamsFromStream can read RAW camera formats
- TImageEnIO: now ParamsFromFileFormat can read RAW camera formats
- TImageEnIO: now ParamsFromStreamFormat can read RAW camera formats
- TImageEnIO: now LoadFromStream can load RAW camera formats
- TImageEnIO: now LoadFromStreamFormat can load RAW camera formats
- TImageEnIO: now FindStreamFormat can read RAW camera formats
- TImageEnIO: now FindFileFormat can read RAW camera formats
- now it is possible to load RAW as native 48 bits per pixel (16 bits per channel)
- BUG: fixed bug using SetExternalBitmap and SetNavigator
- BUG: fixed color bug running transitions
- now it is possible to save TIFF (not jpeg compressed) with 48bit native format (ie48RGB)
- TIFF: now it is possible load images with SamplesPerPixel=2 and with LZW compression
- TImageEnView.ZoomAt: added Center parameter
- TImageEnVect: added OnActivateTextEdit event
- TImageEnVect: added OnDeactivateTextEdit event
- TImageEnVect: now ObjTextEditMode is a property instead of a method. This allows to know which object is in edit mode.
- TImageEnVect: added MemoEditingGetCharInfo method
- TImageEnVect: added MemoEditingSetCharInfo method
- TImageEnVect: added OnTextEditCursorMoved method
- DShowParams.ShowPropertyPages: now returns True or False
- DShowParams.ShowPropertyPages: now accept checkOnly parameter to see if the page is available
- IO.WIAParams: added FillTreeView method
- now ImageEn can get EXIF info from WIA (if camera store images as Jpeg)
- IO.WIAParams: added SaveTransferBufferAs property
- TImageEnProc: added Crop method
- TImageEnProc: added AutoCrop method
- TImageEnVect: added ObjBitmapBorder property
- BMP: now supports 32 bit with alpha channel (read/write)
- TImageEnView.LayersMerge: added RemoveUpperLayer parameter
- TImageEnView: added ImageEnVersion published property
- TGA: now ImageEn can read images with 256 colors palette + alpha channel
- TWainParams.Threshold: now is TIEDoubleList instead of integer
- TImageEnIO: added InsertToStreamTIFF method
- TIEBitmap: added IsEmpty method
- TIEBitmap: added RenderToTIEBitmapEx method
- now printing supports all pixel formats
- TImageEnView: added LayersMergeTo method
- TImageEnView: added DiscardSavedSelection method
- TImageEnMView: added MultiSelectSortList method
- hyieutils unit: added IEAdjustEXIFOrientation procedure
- now EXIF thumbnails are oriented
- TImageEnMView: added IEBeginDrag method
- TImageEnMView: added IEEndDrag method
- TImageEnView: added AutoCursors property
- Params/IOParams: added EXIF_MakerNote property
- now it is possible to read/write (but not change) EXIF maker note
- TIFF: supported load of 48 bit in Native Pixel Format (ie48RGB)
- TImageEnMView: added JobsRunning property
- TImageEnMView: added JobsWaiting property
- Optimized TImageEnMView
- Print preview (TImageEnIO): now it maintains previous parameters
- Print preview (TImageEnIO): now it is possible write/read parameters
- TImageEnIO: added PrintPreviewParams property
- resample filters (TResampleFilter): added rfProjectBW and rfProjectWB to view/print projects
- TImageEnIO.PrintingFilterOnSubsampling: now it is TResampleFilter instead of boolean
- TImageEnIO.Params: added JPEG_EnableAdjustOrientation property
- TImageEnMView: added EnableAdjustOrientation property
- TImageEnMView: added ThumbnailsInternalBorder property
- TImageEnMVIew: added ThumbnailsInternalBorderColor property
- TImageEnIO: added Params.RAW_GetExifThumbnail property
- TImageEnIO: added Params.JPEG_GetExifThumbnail property
- TImageEnIO: added LoadFromFileAuto method
- now Aborting and Progress work when loading from URL
- TImageEnMView.MoveImage: now updates TImageEnMIO params
- TImageEnMView.Sort: now updates TImageEnMIO params
- TImageEnMIO: added LoadFromMediaFile method
- TImageEnView: added ChangeResolution method

 

ImageEn 2.1.7 (9 Nov 2004)


- BUG: fixed memory leak on TImageEnProc.SelPasteFromClipStretch
- BUG: fixed bug copying black/white rectangles
- BUG: fixed bug with MouseInteract=miZoom and ZoomFilter<>rfNone
- BUG: fixed bug using ReadHiddenText where isn't hidden text
- TImageEnProc: added ClearHiddenText method
- BUG: fixed bug assigning TImageEnIO.NativePixelFormat
- TImageEnProc: added CanRedo property
- BUG: fixed bug editing polyline points if the object has been translated
- now TImageEnIO.CaptureFromScreen gets DPI info from the screen
- now Maximum (dilation), Minimum (erosion), Opening and Closing filters works also with black/white images
- BUG: memory leak on Sharpen routine
- TImageEnView: added OnSpecialKey event
- BUG: IPTC which comes from TIFF is not saved to a jpeg
- BUG: fixed bug zooming with mouse wheel
- removed all methods and properties of TImageEn. Now TImageEn=TImageEnView. * now you have convert your code which uses old methods of TImageEn with TImageEnView.Proc and TImageEnView.IO. Example: ImageEn.Negative now is ImageEn.Proc.Negative ImageEn.LoadFromFile(...) now is ImageEn.IO.LoadFromFile
- TImageEnProc.GetHistogram: now parameter is "pointer" instead of THistogram
- TImageEnProc.GetDominantColor: now returns double instead of integer
- TIEBitmap: added MergeAlphaRectTo method
- TImageEnView: added GetRenderRectangles method
- BUG: fixed some bug related to layers resizing and moving
- TImageEnIO.DShowParams: added RenderAudio property
- now TIEFilterPresets is an integer
- added IEAddNewFilter public function
- now it is possible to add new filters
- TImageEnProc: added SelPasteFromClip method
- fixed several minor bugs
- imageenio unit: added iegEnableCMS public variable
- TImageEnIO.Params: added InputICCProfile property
- TImageEnIO.Params: added OutputICCProfile property
- now ImageEn has a CMS (Color Management System) and can read ICC profiles (only for TIFF) * to enable it (source code owners): 1) in ie.inc enable IEINCLUDECMS 2) set iegEnableCMS:=True
- TImageEnView: added SelectRoundRect method
- TImageEnProc: added RoundImage method
- TImageEnMView: added ThumbsRounded property
- TImageEnProc: added BeginImageAnalysis method
- TImageEnProc: added EndImageAnalysis method
- now TImageEnProc.SkewDetectionFine works on selections
- now RemoveAllObjects call SaveUndo
- now TImageEnVect.CopyObjectTo returns the handle of the created object
- TImageEnView: added SavedSelectionsCount property
- TIELayer: added UserData field
- TImageEnView: added CurrentLayer property
- TImageEnVect: added RotateAllObjects method
- TImageEnVect: added RotateObject method
- TImageEnVect.MouseInteractVt: added miUnStampMode value
- TImageEnProc: added ConvertToBW_FloydSteinberg method
- now TImageEnProc.SkewDetection works on selected area (if exists)
- now CMYK is supported as native format
- TIEPixelFormat: added ieCMYK value
- TOpenImageEnDialog: added SelectedFrame property
- TIEGraphicBase: added ResampleFilter property
- TImageEnMView: added OnBeforeImageDrawEx event
- TIEBitmap: added RenderToTBitmapEx method
- TImageEnVect: added CenterNewObjects property
- TImageEnVect: added ObjTextEditMode method
- now ImageEn supports DCX (multipage PXC) file format
- TImageEnIO.Params: added DCX_ImageIndex property
- TImageEnIO: added LoadFromFileDCX method
- TImageEnIO: added LoadFromStreamDCX method
- TIOFileType: added ioDCX value
- TImageEnIO: now LoadFromFile supports DCX format
- TImageEnIO: now LoadFromFileFormat supports DCX format
- TImageEnIO: now LoadFromStreamFormat supports DCX format
- TImageEnIO: now LoadFromStream supports DCX format
- TImageEnIO: now ParamsFromFileFormat supports DCX format
- TImageEnIO: now ParamsFromStreamFormat supports DCX format
- TImageEnIO: added SaveToStreamDCX method
- TImageEnIO: added SaveToFileDCX method
- TImageEnIO: added InsertToFileDCX method
- TImageEnIO: now SaveToFile supports DCX format
- TImageEnIO: now SaveToStream supports DCX format
- TImageEnMIO: added LoadFromFileDCX method
- TImageEnMIO: added LoadFromStreamDCX method
- TImageEnMIO: added SaveToFileDCX method
- TImageEnMIO: added SaveToStreamDCX method
- TImageEnMIO: now LoadFromFile supports DCX format
- TImageEnMIO: now SaveToFile supports DCX format
- imageenio: added EnumDCXIm function
- imageenio: added DeleteDCXIm procedure
- TImageEnIO: added LoadFromBuffer method
- TImageEnIO: added SaveToText method
- TImageEnView: added FlatScrollBars property
- TImageEnMView: added FlatScrollBars property
- now TImageEnView and TImageEnMView supports flat scrollbars
- TImageEnView: added SetExternalBitmap method
- TImageEnView: added SetNavigator method
- TImageEnVect: added OnTextKeyDown event
- TImageEnProc: added RadialStretch method
- manual correction of Barrel Distortion and Pincushion distortion (lens distortion, underwater distortion)
- added new unit named iezlib
- added ielcms unit

 

ImageEn 2.1.6 (8 Aug 2004)


- TImageEnIO: added ReplaceFileGIF method
- BUG: displaying 1x? or ?x1 images
- BUG: loading imaging annotations
- now merged (optimized) GIF can be transparent

 

ImageEn 2.1.5 (28 Jul 2004)


- BUG: fixed bug when a layer is larger than background image and it is cropped
- TImageEnIO: added NativePixelFormat property
- TIEBitmap: added PaletteUsed property
- now it is possible to load/save native paletted formats (BMP,GIF,PNG,TIFF)
- now it is possible to load/save native 8/16 bits gray scale (BMP,GIF,PNG,TIFF)
- now ImageEn can write native 4,8 bits BMP (pixelformat=ie8p)
- now ImageEn can read native 4,8 bits BMP (pixelformat=ie8p) if TImageEnIO.NativePixelFormat=true
- now ImageEn can write native 2-8 bits GIF (pixelformat=ie8p)
- now ImageEn can read native 2-8 bits GIF (pixelformat=ie8p) if TImageEnIO.NativePixelFormat=true
- now ImageEn can write native 8/8g/16g bits PNG (pixelformat=ie8p/ie8g/ie16g)
- now ImageEn can read native 8 bits PNG (pixelformat=ie8p) if TImageEnIO.NativePixelFormat=true
- now ImageEn can write native 8/8g/16g bits TIFF (pixelformat=ie8p/ie8g/ie16g)
- now ImageEn can read native 8/8g/16g bits TIFF (pixelformat=ie8p/ie8g/ie16g) if TImageEnIO.NativePixelFormat=true
- TIEBitmap: added BitAlignment property (works only for ieMemory locations)
- now it is possible to change bit alignment of a memory bitmap (when LegacyBitmap=false)
- TImageEnView: added Layers[].Operation property (allows to select among 37 layers operations)
- now it is possible to select 37 layer operations (blend modes)
- BUG: TWainParams.SetDefaultParams doesn't work well
- BUG: now ObjGraphicRender works on Win98
- now FindStreamFormat and FindFileFormat recognizes AVI format
- IO.Params: added PDF_Title property
- IO.Params: added PDF_Author property
- IO.Params: added PDF_Subject property
- IO.Params: added PDF_Keywords property
- IO.Params: added PDF_Creator property
- IO.Params: added PDF_Producer property
- PDF: now saves creation date
- GIF: now TImageEnIO can load "merged" (or sometimes named "optimized") GIFs
- TImageEnMView.MultiSelectionOptions: added iemoSelectOnMouseUp value
- TImageEnMView: now can select on mouse down
- TImageEnIO: added DShowParams property
- TImageEnView: added OnDShowNewFrame event
- TImageEnView: added OnDShowEvent event
- Video capture: now ImageEn can capture using DirectShow (WDM) capture drivers. This allows to select by code video input, tuner, etc
- added unit "ieds"
- basic support for DirectShow read/write of Windows media files (AVI, MPEG, WMF, etc..)
- TImageEnMView: now ImageBottomText[].Caption, ImageTopText[].Caption, ImageInfoText[].Caption supports WideString
- TImageEnView.OnMouseInResizingGrip: the parameter "grip" now is of type TIEGrip instead of integer
- TImageEnView: added GetGripAt method
- TImageEnMIO: added DoPrintPreviewDialog method
- TImageEnMIO: added ResetPrinter property
- TImageEnIO: added DialogsMeasureUnit property
- added unit ieprnform3
- TImageEnMIO: added LoadFromFileICO method
- TImageEnMIO: added LoadFromStreamICO method
- TImageEnMIO: now LoadFromFile can read ICO files
- now LZW (for GIF and TIFF) is enabled for default (you can still disable it)
- TImageEnVect: added SelectOnMouseDown property
- TImageEnVect: now UseCentralGrip is false for default
- TImageEnVect note: to have the same behavior of old versions you have to set: UseCentralGrip:=true SelectOnMouseDown:=false
- BUG: fixed bug saving PDF with TImageEnMIO
- TImageEnVect: removed SetGripStyle method (replaced by GripSize, GripPen and GripBrush properties)
- TImageEnVect: added GripSize property
- TImageEnVect: added GripPen property
- TImageEnVect: added GripBrush property
- TImageEnVect: now mouse changes over grips
- TImageEnVect: added "side" grips
- BUG: TImageEnMVIew: OnImageDraw returns a wrong value
- TImageEnView: added SelectionAspectRatio property
- TImageEnView: added SelectionAbsWidth property
- TImageEnView: added SelectionAbsHeight property
- TWainParams: added Rotation property
- IO.Params: added TIFF_JPEGColorSpace property
- TImageEnView: setting MouseWheelParams.Action:=iemwVScroll and pressing CTRL now scroll horizontally
- now ImageEn sets a default of 300 dpi instead of 1 or monitor dpi when a file doesn't contain this info
- BUG: fixed bug reading PNG files
- BUG: fixed bug merging black/white layers
- TImageEnProc: added CompareWith method
- BUG: fixed bug merging layers with negative offsets
- imageenio unit: added IECalcJpegFileQuality function
- imageenio unit: added IECalcJpegStreamQuality function
- now it is possible to get approximate saved quality of a jpeg
- TImageEnIO: added ReplaceFileTIFF method
- TImageEnProc: added RemoveRedEye method
- added simple algorithm to help to remove red eyes

 

ImageEn 2.1.4 (8 Maj 2004)


- CalcDensityHistogram: now gets "pointer" instead of "pintegerarray" to make it compatible with C++Builder
- TImageEnView: added SelectionMaskDepth property
- TImageEnView: added SelectionIntensity property
- TImageEnView: added MakeSelectionFeather method (to make feathering selection)
- feathering selections
- now it is possible to make "soft-selections", i.e. specify how much apply an image processing effect (see SelectionMaskDepth and SelectionIntensity)
- TImageEnMView: enhanced multipage TIFF loading
- TImageEnIO: added InjectJpegEXIF method
- TImageEnIO: added InjectJpegEXIFStream method
- now it is possible to inject EXIF info inside a Jpeg without loss image quality
- TImageEnVect: now iekRULER uses ObjFont property
- Optimized TImageEnIO.InjectJpegIPTC
- TImageEnMView: added FillFromDirectory method
- TIFF: now writes NewSubfileType tag
- TImageEnMIO (or TImageEnMView.MIO): now "load" methods supports alpha channel
- BUG: wrong value reading Params.GIF_Action property
- GIF (TImageEnMView): supported "merged" GIFs
- TImageEnProc: added BeginImageProcessing method
- TImageEnProc: added EndImageProcessing method
- BUG: fixed memory leak on load images
- TImageEnView: added BackBuffer property
- TImageEnView: added OnDrawBackBuffer event
- Optimized TImageEnVect.CopyObjectsToBack with antialias=true
- TImageEnVect: added ObjAntialias property
- layers: now it is possible to have layers with different size and position
- TImageEnView.Layers[]: added PosX and PosY properties
- TImageEnView.Layers[]: added ClientAreaBox property
- TImageEnView.Layers[]: added Width,Height properties
- TImageEnView.Layers[]: added Cropped property
- TImageEnView.Layers[]: added Locked property
- TImageEnView.Layers[]: added Magnify property
- TImageEnView: added LayersSync property
- TImageEnView: added LayersDrawBox property
- TImageEnView: added FindLayerAt method
- TImageEnView.MouseInteract: added miMoveLayers value
- TImageEnView.MouseInteract: added miResizeLayers
- TImageEnView: now it is possible to move and resize layers
- TImageEnView: added OnLayerNotify
- built in magnifier layer
- enhanced ICO transparency compatibility on saving
- TImageEnProc: added ResampleTo method
- now TImageEnIO.DoPreviews preselect the current file format which is stored in the Params object
- now TImageEnIO.DoPreviews changes also Params.FileType
- TImageEnVect: now it is possible to edit/add/delete points of a polygon with mouse
- TImageEnVect.MouseInteractVt: added miEditPolyLine
- BUG: AssignSelTo, CopySelectionToBitmap doesn't work with LegacyBitmap=false
- TImageEnIO: added CreatePSFile method
- TImageEnIO: added SaveToPS method
- TImageEnIO: added ClosePSFile method
- unit imageenio added ioPS constant
- TImageEnIO: added SaveToStreamPS method
- TImageEnIO: added SaveToFilePS method
- TImageEnIO: now SaveToFile can save PostScript files (PS)
- TImageEnIO: now SaveToStream can save PostScript files (PS)
- TImageEnMIO: added SaveToFilePS method
- TImageEnMIO: added SaveToStreamPS method
- TImageEnMIO: now SaveToFile can save PostScript (PS) files
- IO.Params: added PS_PaperWidth property
- IO.Params: added PS_PaperHeight property
- IO.Params: added PS_Compression property
- IO.Params: added PS_Title property
- TImageEnIO: added CreatePDFFile method
- TImageEnIO: added SaveToPDF method
- TImageEnIO: added ClosePDFFile method
- TImageEnIO: added SaveToStreamPDF method
- TImageEnIO: added SaveToFilePDF method
- IO.Params: added PDF_PaperWidth property
- IO.Params: added PDF_PaperHeight property
- IO.Params: added PDF_Compression property
- unit imageenio added ioPDF constant
- TImageEnIO: now SaveToFile can save Adobe PDF files
- TImageEnIO: now SaveToStream can save Adobe PDF files
- TImageEnMIO: added SaveToFilePDF method
- TImageEnMIO: added SaveToStreamPDF method
- TImageEnMIO: now SaveToFile can save Adobe PDF files
- now it is possible to save images using PostScript format (PS) - single and multipage (RLE, G3Fax, G4Fax, Jpeg compressions)
- now it is possible to save images using Adobe PDF format - single and multipage (G3Fax, G4Fax, Jpeg compressions)
- TImageEnMView: added Sort method

 

ImageEn 2.1.3 (14 Mar 2004)


- BUG: fixed some problems on printing
- BUG: fixed bug with MEMO and ObjAutoUndo=True
- BUG: fixed bug with BackgroundStyle=iebsCropShadow and DisplayGrip=True
- BUG: fixed bug on TImageEnVect, writing a text object and exiting from the application
- BUG: fixed bug writing TIFF with CCITT compression

 

ImageEn 2.1.2 (26 Feb 2004)


- BUG: fixed AV on reading thumbnails
- BUG: fixed problem saving EXIF info
- BUG: Wallis filter draws a frame
- Supported WIA also with C++Builder
- TImageEnView: added DrawVersion published property

 

ImageEn 2.1.1 (20 Feb 2004)


- imageenio unit: added ioAVI constant
- BUG: TImageEnView, when MouseInteract=[miScroll] the cursor is not restored
- Supported saving of EXIF in Jpeg and TIFF (Exif_Bitmap still not supported)
- BUG: now TImageEnView.GradientEndColor works
- BUG: TImageEnMView, scrollbars do not have right theme
- BUG: TImageEnMView, ImageOriginalWidth and Height hasn't right values for first image
- BUG: wrong DPI when reading TIFF with Jpeg compression
- THSVBox: added GetColorAt method
- TImageEnProc.DoPreviews: added peGamma value for the new gamma correction preview
- TOpenImageEnDialog: added ShowAllFrames property
- BUG: now EXIF_Bitmap works
- support for registering of ImageEn formats in TPicture (TImage and VCL open/save dialogs)
- added following classes TIETiffImage, TIEGifImage, TIEJpegImage, TIEPCXImage, TIEBMPImage, TIEICOImage, TIEPNGImage, TIETGAImage, TIEPXMImage, TIEJP2Image, TIEJ2KImage to support registering in TPicture (TImage and VCL open/save dialogs)
- hyieutils unit: added IERegisterFormats and IEUnregiserFormats functions
- ie.inc: added IEREGISTERTPICTUREFORMATS define, to enable file formats registering at design time (only source code owners)
- TImageEnVect: supported multi-line (memo) objects
- TImageEnVect.ObjKind[]: added iekMEMO value
- TImageEnVect.MouseInteractVt: added miPutMemo value
- THistogramBox: added GrayColor property
- TImageEnProc: added MedianFilter method
- TImageEnProc: added WallisFilter method
- TImageEnView.GetIdealZoom: now returns double instead of integer
- TImageEnIO.Params: added GIF_Action property
- TImageEnVect: ObjFontLocked property
- TImageEnVect: added ObjMemoLineSpace[] property
- TImageEnVect: added ObjMemoBorderColor[] property
- TImageEnVect: added ObjMemoBorderStyle[] property
- TImageEnProc: added CalcOrientation method
- TImageEnProc: added SkewDetectionFine method
- TImageEnMView: added GetTIEBitmap method (release is still done by ReleaseBitmap)
- TImageEnMView: added SoftShadow property
- TImageEnVect: changed type of ObjTextAlign from TAlignment to TIEAlignment
- TImageEnVect: added IsEditMode method
- TImageEnIO: added CreateAVIFile method
- TImageEnIO: added SaveToAVI method
- TImageEnMView: added EnableAlphaChannel property
- TImageEnMView: added BackgroundStyle property
- TImageEnMView: added SetChessboardStyle method
- TImageEnMView: added GradientEndColor property
- BUG, IPTC: fixed bug writing IPTC in a jpeg saved by PhotoShop 7
- TImageEnMView: added ThumbnailsBackgroundStyle property
- TImageEnMView: added FillThumbnail property
- TImageEnVect: supported curved text
- TImageEnVect: added SetObjTextCurve method
- TImageEnVect: added SetObjTextCurveShape method
- TImageEnVect: added SetObjTextCurveFromPolyline
- GIF: now ImageEn can write alpha channel automatically
- TImageEnVect: added ObjTextCurveCharRot property
- TImageEnVect: added DrawObjectsToBitmap method
- BUG: fixed bug on writing hidden text
- TImageEnView: now OnSelectionChange occurs also when user removes the selection (single click)
- TImageEnMView: added OnImageIDRequestEx event
- now magic wand also works with black/white images
- support for read/write of WBMP (Wireless Bitmap) file format
- imageenio: added ioWBMP value
- TImageEnIO: added LoadFromFileWBMP method
- TImageEnIO: added LoadFromStreamWBMP method
- TImageEnIO: added SaveToFileWBMP method
- TImageEnIO: added SaveToStreamWBMP method
- TImageEnIO.LoadFromFile,LoadFromFileFormat,LoadFromStreamFormat,ParamsFromFileFormat,ParamsFromStreamFormat: now can load WBMP files
- TImageEnIO.SaveToFile,SaveToStream: now can save WBMP files
- TIEBitmap: added WhiteValue and BlackValue properties
- TIEBitmap, TIEPixelFormat: added ie32f format (32 bit - Single in Pascal)
- TIEBitmap: added Pixels_ie32f[] property
- TIEBitmap.Fill: changed Value parameter from integer to double
- TIEBitmap.FillRect: changed Value parameter from integer to double
- Support for Wang Imaging annotations (load/edit/save)
- TImageEnMIO.SaveToFileAVI: now accept codec as parameter
- TImageEnIO.Params: added ImagingAnnot property (class TIEImagingAnnot)
- TImageEnVect: added ObjMemoFixedHeight[] property
- TImageEnVect: added GetMemoFormattedString method
- TImageEnVect: added ObjBoxHightlight[] property
- TImageEnVect: now it is possible to create an highlight box object
- TImageEnView: added LockUpdate procedure
- TImageEnView: added UnLockUpdate procedure
- TImageEnVect: added UseCentralGrip property
- TImageEnVect: now it is possible to move an object without using the central grip
- TIEBitmap: added ChannelOffset[] property (allows to set display luminosity without change the image)
- TIEBitmap: added Contrast property (allows to set display contrast without change the image)
- TImageEnDBView, TImageEnDBVect: added support for ICO, JP2, J2K and WBMP file formats
- TDataFieldImageFormat: added ifICO,ifJP2,ifJ2K,ifWBMP values
- TImageEnProc: added Sharpen method
- TPreviewEffects: added peSharpen value
- added sharpen effect
- TImageEnMView: added ThumbnailDisplayFilter property
- TImageEnVect: added OnBeforeVectorialChanged event
- TImageEnVEct: added ObjAutoUndo property
- TImageEnIO,TImageEn: ImportMetaFile now accept WithAlpha parameter
- WMF/EMF: supported alpha channel
- Supported WIA devices (scanner and camera) - not for C++Builder
- TImageEnIO.Acquire: added "api" parameter
- TImageEnIO.SelectAcquireSource: added "api" parameter
- TImageEnMIO.Acquire: added "api" parameter
- TImageEnMIO.SelectAcquireSource: added "api" parameter
- TImageEnIO: added WIAParams property
- TImageEnMIO: added WIAParams property
- TIEBitmap: added Access property
- TIFF: now can subdivide the image in strips when it is too large

 

ImageEn 2.1.0 (24 Oct 2003)

New features:
- TImageEnVect: now can specify the transparency for each vectorial object
- TImageEnVect: now can specify a soft shadow for each vectorial object
- optimized DeleteTiffIm (speed up of about 25 times)
- TImageEnVect: added a "line with label" object
- TImageEnProc.ImageResize: now doesn't loss the alpha channel
- now TImageEnView.CopySelectionToBitmap works inside OnSelectionChanging event
- TImageEnVect: now supports Undo feature (AutoUndo not still supported)
- jpeg2000: little performance improvement on loading
- TWain: now supports "file transfer" (other than buffered and native)
- TImageEnProc.CropSel: now handles alpha channel
- TImageEnView.CopySelectionToIEBitmap: now handles alpha channel
- enhanced quality of ordered dithering
- supported save of ICO file format
- now SaveToFile can save ICO format
- now SaveToStream can save ICO format
- TIFF: supported 16 bit (grayscale) writing
- TIFF: supported 16 bit (grayscale) compressed reading
- PNG: supported 16 bit (grayscale) writing
- BUG: OnZoomIn, OnZoomOut doesn't work when you use the Mouse Scroll button
- BUG: TImageEnView, now KeyInteract works
- BUG: HistAutoEqualize problem with images with less than 256 pixels
- BUG: CalcDensityHistogram problem with images with one color
- BUG: problems on printing
- BUG: in "advanced" dialog, cut the bottom dialog when "large fonts" are selected
- BUG: Removed scrolling flickering with document images, when Zoom>100
- twain: fixed some bugs
- BUG: fixed bug on reading TIFF, 16bit gray scale, coming from non Intel systems
- BUG: jpeg saving. Incorrect colors if setting colorspace<>YCbCr and APP14 is present
- TImageEnVect: now ruler and angle objects have correct sizes on Zoom<>100
- TImageEnVect: added ObjLabelBrushColor[] property
- TImageEnVect: added ObjLabelBrushStyle[] property
- TImageEnVect: added ObjLabelPosition[] property
- TImageEnView: added CopySelectionToIEBitmap method
- unit imageenio: added DeleteTIFFImGroup function
- TImageEnMIO: added OnFinishWork event
- TImageEnVect: added ObjTransparency property
- TImageEnVect: added ObjSoftShadow[] property
- TImageEnVect: added ObjGraphicRender property (default false), that enables enhanced objects processing (shadow,transparency,etc)
- hyieutils: added IEDefDialogCenter public field
- TImageEnProc: added GetDominantColor method
- TImageEnVect: added ObjSaveUndo method
- TImageEnVect: added ObjClearUndo method
- TImageEnVect: added ObjClearAllUndo method
- TImageEnVect: added ObjCanUndo property
- TImageEnVect: added ObjUndoCount property
- TImageEnVect: added ObjUndoLimit property
- TImageEnVect: added ObjUndoAt method
- TImageEnVect: added ObjUndo method
- TImageEnMIO: added ExecuteOpenDialog method
- TImageENMIO: added ExecuteSaveDialog method
- TWainParams: added FileTransfer property
- TImageEnView: added EnableShiftKey property
- TImageEnView: added DelayZoomTime property
- TImageEnView: added DelayTimer property
- TImageEnIO.TWainParams: added LogFile property
- TImageEnView: added GetIdealZoom method
- TImageEnVect: added MeasureCoefX property
- TImageEnVect: added MeasureCoefY property
- TImageEnVect: added GetObjDiagLen method
- TImageEnIO.TWainParams: added LastError property
- TImageEnIO.TWainParams: added LastErrorStr property
- TImageEnIO: added EnumICOIm function
- TImageEnVect: added ObjSetTBitmap method
- TImageEnIO: added SaveToStreamICO method
- TImageEnIO: added SaveToFileICO method
- TImageEnIO.Params: added ICO_Sizes field
- TImageEnIO.Params: added ICO_BitCount field
- TImageEnView: added GradientEndColor property
- TImageEnIO.TWainParams: added CompatibilityMode property
- imageenio unit: added IEWriteICOImages function
- TImageEnView: added CenterImage method
- TImageEnVect.ObjKind[]: added iekLINELABEL value
- TImageEnVect.MouseInteractVt: added miPutLineLabel value
- TImageEnVect.ObjBitmapAlpha[]: now return TIEBitmap instead of TIEMask
- TImageEnVect.ObjBitmap[]: now is a TIEBitmap instead of TBitmap
- TImageEnProc.AddSoftShadow: added AdaptSize parameter
- TImageEnProc.AddSoftShadow: added shadowColor parameter
- TImageEnVect.CopyObjectsToBack: added Antialias paramter
- TImageEnView.BackgroundStyle: added iebsGradient value

 

ImageEn 2.0.9 (31 Jul 2003)


- TImageEnProc: added SetTransparentColors method
- TImageEnProc.AddSoftShadow: now works also with black/white images
- TSaveImageEnDialog: now gets MsgLanguage value from TImageEnIO
- BUG: TImageEnIO.ExecuteOpenDialog, now set correct language
- TImageEnDBView, TImageEnDbVect: added IsInsideDbCtrl property
- BUG: TWain, fixed memory leak bug on BufferedTransfer=False
- BUG: advanced dialog, now transparent and background color selection for gifs works also when preview is off
- BUG: fixed memory load on load images with alpha channel
- BUG: now THistogramBox works
- BUG: now histogram of preview dialog works

 

ImageEn 2.0.8 (11 Jul 2003)


- kylix: now get DPI values from scanner
- kylix: now OnProgress works also on scanner acquisition
- TImageEnIO.Params (TIOParamsVals): added Dpi property (includes both DpiX and DpiY)
- use of zlib library version 1.1.4
- use of PNG library version 1.2.5
- kylix: added PNG support
- TIEBitmap: added GetRow and FreeRow methods
- TIEBitmap: added FillRect method
- TIEBitmap: added Resize method
- TImageEnProc: added AttachedIEBitmap property
- TImageEnProc: added MergeIEBitmap method
- BUG: fixed bug on loading corrupted TIFF
- TImageEn,TImageEnProc.GetHSVChannel: now return TIEBitmap instead of TBitmap
- TImageEn,TImageEnProc.GetRGBChannel: now return TIEBitmap instead of TBitmap
- TImageEn,TImageEnProc.GetHSVChannelAll: now uses TIEBitmap instead of TBitmap
- TImageEn,TImageEnProc.GetRGBChannelAll: now uses TIEBitmap instead of TBitmap
- TImageEnProc.ComputeImageEquality: now uses TIEBitmap instead of TBitmap
- TImageEnProc: now supports TIEBitmap object
- TIFF: now can read IPTC info from TIFF files
- TIFF: now can write IPTC info to TIFF files
- TImageEnView.SelectionOptions: added iesoMarkOuter value, to mark the area of out the selection
- Kylix: now AsyncMode works
- BUG: now TaskName parameter of DoPrintPreviewDialog works
- BUG: Resample can raise float point exception
- TImageEnIO: added ThreadsCount property
- TImageEnMView: added OnWrongImage event
- Optimized rectangle selection moving
- TImageEnView: added SelectEllipse method
- TImageEnView: added MoveSelection method
- TImageEnView.SelectionOptions: added iesoCanScroll value
- TImageEnIO: now OnProgress return 100% when load finish
- TImageEnVect: added ObjPolylineClosed property (to allow filled polygons)
- TImageEnVect: now supports filled and closed polygons
- TImageEnProc: added PaintPenMarker method
- TImageEnView: now supports multiple layers
- TImageEnView: added LayersCount property
- TImageEnView: added LayersCurrent property
- TImageEnView: added LayersAdd method
- TImageEnView: added LayersInsert method
- TImageEnView: added Layers property
- TImageEnView: added LayersRemove method
- TImageEnView: added LayersMove method
- TImageEnView: added LayersMerge method
- BUG: TImageEnMView, return incorrect value for ImageOriginalWidth[] and ImageOriginalHeight on large jpegs
- TImageEnIO: added WaitThreads method
- TImageEnIO: added LoadFromURL method
- TImageEnIo: added ProxyAddress,ProxyUser,ProxyPassword properties
- TImageEnView: added IEBitmap property
- TImageEnView: now AlphaChannel is a TIEBitmap object instead of TIEMask
- TImageEnIO: removed AlphaChannel property
- TImageEnProc: removed AlphaChannel property
- TImageEnView: added LegacyBitmap property
- saving color image as black/white: now the default convertion algorithm is "Threshold" (change it using DefaultDitherMethod)
- TImageEnProc.ConvertToPalette: added DitherMethod parameter
- TImageEnProc.ConvertTo: added DitherMethod parameter
- TImageEnIO: added DefaultDitherMethod property
- TImageEnMIO: added DefaultDitherMethod property
- TImageEnMView: added SetIEBitmap method
- TImageEnView.Center: now is True for default
- TImageEnView.ScrollBars: now is ssBoth for default
- BUG: fixed bug on i/o (Advanced button) preview in Jpeg2000
- new example named layers
- TImageEnView: added MaxLayerWidth property
- TImageEnView: added MaxLayerHeight property
- TImageEnView.DelayZoomFilter: now is False for default
- TImageEnMIO: added SimplifiedParamsDialogs property (default true)
- TImageEnMIO.DoPreviews: now accept -1: it uses some compression parameters for all images
- TSaveImageEnDialog.AttachedImageEnIO: now can connect also to TImageEnView (and inherited controls)
- TSaveImageEnDialog.AttachedImageEnIO: now can connect also to TImageEnMView
- when display input/ouput parameters (or Advanced buton in save dialog) for multi page control TImageEnMView the specified compression is copied for all pages
- TImageEnMIO: added DuplicateCompressionInfo method
- TImageEnView: removed PaintTo method
- TImageEnView: now layers and alpha channel works also with ZoomFilter<>rfNone
- TImageEnView: now transitions supports ZoomFilter<>rfNone
- ConvertToBWThreshold: now accept -2 for Threshold parameter (maximum entropy algorithm)
- TImageEnProc: added Blur method
- added softshadow effect
- TImageEnProc: added AddSoftShadow method
- TImageEnVect.CreateImageFromSelectedArea: added feather and smooth parameters
- saving paletted images: added a new quantizer that doesn't change colors (only for images with <=256 colors)
- TImageEnView: added SaveSelectionToStream method
- TImageEnView: added LoadSelectionFromStream method
- TImageEnProc: now selections can be saved using SaveUndo and SaveRedo
- TImageEnProc.SaveUndo: added Source parameter
- TImageEnProc.SaveRedo: added Source parameter
- TImageEnProc.SaveRedoCaptioned: added Source parameter
- TImageEnProc.SaveUndoCaptioned: added Source parameter
- TImageEnView: added SaveSelection method
- TImageEnView: added RestoreSelection method
- TImageEnView: now SelectZoom doesn't loss current selection
- TImageEnView: added OnBeforeSelectionChange event
- TImageEnMView: ScrollBars property is True per default
- TImageEnView.RemoveAlphaChannel: added Merge parameter (to merge alpha channel before remove it)
- TImageEnProc: added UndoPeekAt method
- TImageEnProc: added RedoPeekAt method
- BUG: TImageEnView: when in zooming and there is a selection active and the mouse is over the selection the cursor changes
- BUG: TImageEnView: when in selection mode and hold down the shift key and pressing the mousebutton over a selection the selection is moved
- added softshadow example
- TImageEnView, TImageEnProc: fixed minor bugs
- TImageEnProc.ImageResize: added HorizAlign and VertAlign parameters
- TIFF: supported load and save of TIFF-JPEG format (new format, baseline of DRAFT TIFF Technical Note #2)
- TImageEnIO.Params: added TIFF_JPEGQuality property
- BUG: TImageEnVect: fixed alignment problems among bitmap and vectorial objects
- TImageEnProc: enhanced rotate quality
- TImageEnProc.Rotate: added AntialiasMode parameter
- TImageEnIO.Params.TIFF_EnableAdjustOrientation: now is False for default
- TImageEnProc.Rotate: now works also with the alpha channel
- TImageEnProc.Rotate: added BackgroundColor parameter
- added Bilinear and Bicubic resample algorithms
- TImageEnProc.Resample: added rfBilinear and rfBicubic values for Filter parameter
- TImageEnView.ZoomFilter: added rfBilinear and rfBicubic values
- TResampleFilter: added rfBilinear and rfBicubic values
- TImageEnMView.ThumbnailResampleFilter: added rfBilinear and rfBicubic values
- TOpenImageEnDialog.ZoomFilter: added rfBilinear and rfBicubic values
- TImageEnVect.BitmapResampleFilter: added rfBilinear and rfBicubic values
- TIETWainParams.GetFromScanner: now return false if fails
- BUG: fixed bug on printing
- renamed PrintingFilterOnSubsampling1Bit to PrintingFilterOnSubsampling (now it is active for both color and black/white images)
- kylix: now TImageEnView works in invisible mode
- kylix: now TImageEnIO can print

 

ImageEn 2.0.7 (29 Mar 2003)


- TImageEnView: added UpdateNoPaint method
- TImageEnView: added AutoStretch property
- TImageEnView: added AutoShrink property
- TImageEnMIO: added AutoAdjustDPI property
- TImageEnMIO: added FilteredAdjustDPI property
- Open dialog: now AutoAdjustDPI is active also for multi page files
- TImageEnIO: added FilteredAdjustDPI property
- TOpenImageEnDialog: added FilteredAdjustDPI property
- added j2c extension for Jpeg2000 (the some of j2k)
- ImageEnIO unit: added ExtractTIFFImageFile procedure
- ImageEnIO unit: added ExtractTIFFImageStream procedure
- ImageEnIO unit: added InsertTIFFImageFile procedure
- ImageEnIO unit: added InsertTIFFImageStream procedure
- BUG: reading tiled TIFF
- BUG: Params.LoadFromStream and Params.SaveToStream makes an exception
- ImageEnIO.CaptureFromScreen: added MouseCursor property
- TImageEnIO.CaptureFromScreen: now can draw the mouse cursor
- BUG: fixed a bug in jpeg IPTC injection
- BUG: fixed a memory leak in Noise removal algorithm
- TImageEnProc.SkewDetection: added EdgeDetect parameter
- TOpenImageEnDialog, TSaveImageEnDialog: added ExtendedFilters property
- TImageEnIO.ExecuteOpenDialog: added ExtendedFilters property
- TImageEnIO.ExecuteSaveDialog: added ExtendedFilters property
- BUG: fixed a bug in skew detection algorithm
- Open dialog: now Zoom does not change when selecting another image
- TOpenImageEnDialog: added ZoomFilter property
- TImageEnMView: fixed bug loading thumbnails with ThreadPoolSize>0
- TImageEnMView: added BeginSelectImages method
- TImageEnMView: added EndSelectImages method
- TImageEnView: added IsEmpty property
- ImageEnIO unit: added EnumTIFFStream function
- TImageEnIO: supported TWain modeless acquisition.
- TImageEnIO: added AcquireOpen method
- TImageEnIO: added AcquireClose method
- TImageEnIO: added OnAcquireBitmap method (nell'help specificare che lavora solo con AcquireOpen/Close)
- TImageEnMIO: supported TWain modeless acquisition
- TImageEnMIO: added AcquireOpen method
- TImageEnMIO: added AcquireClose method
- TImageEnProc: added GammaCorrect method
- Added Polish language
- TMsgLanguage: added msPolish
- BUG: reading CCITT 1D
- TImageEnMView: added a cache for images (to speed-up thumbnails display)
- TImageEnMView: added EnableImageCaching property
- TImageEnMView: added ClearImageCache method
- ie.inc: added conditional compile tag IEINCLUDEJPEG2000 to exclude jpeg2000 support (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDEPNG to exclude PNG support (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDEVIDEOCAPTURE to exclude VFW video capture support (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDEMULTIVIEW to exclude multi page (thumbnails) support (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDETWAIN to exclude multi page (thumbnails) support (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDEDB to exclude database components (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDETIMAGEEN to exclude TImageEn component (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDEDIALOGIP to exclude image processing dialog (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDEDIALOGIO to exclude input/output dialogs (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDEOPENSAVEDIALOGS to exclude open/save dialogs (only for source code owners)
- ie.inc: added conditional compile tag IEINCLUDEPRINTDIALOGS to exclude print dialogs (only for source code owners)
- TImageEnIO: added SimplifiedParamsDialogs property (Warning: the default is True, to allow old style "advanced" dialogs set it to False)
- TImageEnIO: added OnDoPreviews event
- TImageEnVect: CreateImageFromSelectedArea method (see copysel example)
- BUG: TImageEnProc.Undo when UndoLocation is ieTBitmap raise an exception
- TImageEnVect: added an angle measurement object
- TIEVObjectKind: added iekANGLE
- TIEMouseInteractVt: added miPutAngle
- TImageEnIO.DoPrintPreviewDialog: added TaskName parameter
- TImageEnMView: added IsSelected method
- TImageEnIO: added ChangeBackground property
- TImageEnView.MouseWheelParams: added ZoomPosition property
- TImageEnVect: added GetAngleValue method
- First minimal Kylix support
- added magnify example
- added copysel example

 

ImageEn 2.0.6 (19 Jan 2003)


- TImageEnMIO: added OnAcquireBitmap event (now attaching an TImageEnMView is optional)
- Support for JPEG2000: JP2, J2K and JPC code stream formats (JPEG-2000 Part-1 standard, ISO/IEC 15444-1)
- ImageEnIO: added ioJP2 and ioJ2K values
- TImageEnIO: added LoadFromFileJP2
- TImageEnIO: added LoadFromFileJ2K
- TImageEnIO: added LoadFromStreamJP2
- TImageEnIO: added LoadFromStreamJ2K
- TImageEnIO: LoadFromFile, LoadFromStream, LoadFromStreamFormat, LoadFromFileFormat can read jp2,j2k,jpc formats
- TImageEnIO.Params: added J2000_ColorSpace property
- TImageEnIO.Params: added J2000_Rate property
- TImageEnIO.Params: added J2000_ScalableBy property
- TImageEnIO: added SaveToFileJP2
- TImageEnIO: added SaveToFileJ2K
- TImageEnIO: added SaveToStreamJP2
- TImageEnIO: added SaveToStreamJ2K
- TImageEnIO: SaveToFile, SaveToStream can save jp2,j2k,jpc formats
- TImageEnIO.DoPreviews: added ppJ2000 value
- added iej2000 unit
- BUG: writing Gray scale TIFF with LZW doesn't work
- TImageEnView: added FitToWidth method
- TImageEnView: added FitToHeight method
- TImageEnMView: added MIO property (encapsulated TImageEnMIO component)
- TImageEnMView: added Proc property (encapsulated TImageEnProc component)
- TImageEnMview: added OnProgress event
- TImageEnMView: loading images using ImageFileName now updates file format parameters of MIO (TImageEnMIO) property
- TImageEnMView: loading single image using SetImageFromFile or SetImageFromStream now updates file format parameters of MIO property
- TImageEnIO: support for "multithreading" and "big images" features (only TImageEnIO connected to TIEBitmap)
- TImageEnIO: added IEBitmap property
- TImageEnIO: added AttachedIEBitmap property
- TImageEnIO: Params.EXIF_Bitmap now is TIEBitmap instead of TBitmap.
- TImageEnIO: changed definition of TIEReadImageStream and TIEWriteImageStream (accept TIEBitmap instead of TBitmap)
- TImageEnIO: support for asynchronous load/save operations
- TImageEnIO: added AsyncRunning and AsyncMode properties
- TImageEnIO: added OnFinishWork event
- TImageEnIO.Params: added EXIF_HasEXIFData property
- Open dialog: now ZoomCombo is disabled when preview is not checked
- TWainParams: added AutoFeed property
- TOpenImageEnDialog: added AutoAdjustDPI property
- TImageEnVideoCap, TImageEnVIdeoView: OnVideoFrame now returns TIEDibBitmap instead of TBitmap
- TImageEnMView: added CopyToIEBitmap method
- TImageEnMView: supported multithreading
- TImageEnMView: added ThreadPoolSize property
- TImageEnMView: added IsVisible method
- TImageEnMView: added OnBeforeImageDraw event
- TImageEnMView: added ImageBitCount property
- TImageEnProc: added FiltersInitialDir property
- BUG: TImageEnIO, memory leak on assigning IOParams property
- added G3F and G3N (Zetafax format) file extensions
- TImageEnIO.Params: added EXIF_UserComment and EXIF_UserCommentCode properties (EXIF field $9286)
- BUG: TImageEnVect, fixed bug in SetObjBitmapFromFile when load images without alpha channel
- GIF: support for GIF comments
- TImageEnIO.Params: added GIF_Comments[] property
- TGA: now supports Alpha channel read/write (from 24bit images)
- TImageEnView: added SetSelectedPixelsColor method
- TImageEnView: added SetAlphaRangePixelsColor method
- BUG: flip on black/white images
- optimized 90, 180, 270 black/white images rotation
- optimized black/white images rotation
- TImageEnProc: added RemoveIsolatedPixels method
- added noise removal (for black/white images)
- TImageEnProc: added RemoveNoise method
- on Delphi 7: in theme-enabled applications now ImageEn shows the new border
- TImageEnMView: added MaximumViewX and MaximumViewY properties
- Enhanced quality on zoom<100 (with filtered zoom) for black/white images
- Enhanced quality on sub-sampling (filtered) for black/white images
- TImageEnProc: added PaintMark method
- read of single TIFF tags
- unit hyieutils: added TIETifTagsReader class
- TImageEnProc: added ComputeImageEquality method
- new example "compare"
- TImageEnIO: added PrintingFilterOnSubsampling1Bit property
- TImageEnProc: optimized "contrast"
- TImageEnMView: added ImageOriginalWidth[] property
- TImageEnMView: added ImageOriginalHeight[] property

 

ImageEn 2.0.5 (23 Oct 2002)


- TImageEnView: renamed SetGripStyle to SetSelectionGripStyle
- TImageEnProc: added RedoAt method
- Released source code of Preview.pas and IOPreviews.pas units for "compiled only" users
- TImageEnVideoCap: now recording works
- BUG: fixed bug on writing TGA
- BUG: fixed bug on reading some TIFF with alpha channel
- TImageEnIO: now AutoAdjustDPI is False for default
- TImageEnIO, TWain: now CAP_CAPTION is copied to Params.FileName (or Params[].FileName for TImageEnMIO)
- BUG: Jpeg lossless transform: some image sizes can make wrong results

 

ImageEn 2.0.4 (6 Oct 2002)


- optimized TImageEnView.UpdateRect
- BUG: fixed bug on moving selection using iesoCutBorders
- TImageEnView: added RightBottomGap property (default 0.5)
- BUG: fixed some selection bugs
- BUG: TImageEn closes IDE environment
- BUG: fixed TImageEnMView memory/resource leaks
- BUG: fixed Image processing previews memory leaks
- BUG: fixed TRulerBox memory leaks
- BUG: resampling makes some artifacts
- now TIFF can save gray scale images (using PhotometInterpretation=ioTIFF_WHITEISZERO or ioTIFF_BLACKISZERO, BitsPerSample=8, SamplesPerPixel=1 )
- now open dialog loads Jpegs more fast (at reduced resolution)
- TImageEnIO.Params: added JPEG_OriginalWidth, JPEG_OriginalHeight properties
- TSaveImageEnDialog: now hides ICO, CUR, WMF, EMF, that ImageEn cannot save
- TOpenImageEnDialog/TSaveImageEnDialog: added ShowAVI property
- BUG: on selectlasso mouse doesn't change when is inside the selection
- TImageEnView: added HasAlphaChannel property (to use instead of AlphaChannel.IsEmpty or AlphaChannel.Full)
- TImageEnView: added RemoveAlphaChannel method
- TImageEnView: now ImageEn creates Alpha Channel only when loaded or requested
- Added Redo feature
- TImageEnProc: added Redo method
- TImageEnProc: added RedoCaptions property
- TImageEnProc: added RedoCount property
- TImageEnProc: added ClearAllRedo method
- TImageEnProc: added ClearRedo method
- TImageEnProc: added SaveRedo method
- TImageEnProc: added SaveRedoCaptioned method
- TImageEnIO: added MergeMetaFile method
- now Undo/Redo also saves alpha channel
- TImageEnMView: added SetImageFromStream method
- TImageEnMView: added EnableResamplingOnMinor property
- BUG: TImageEnVideoView, TImageEnVideoCap: fixed a bug on setting audio properties
- Print preview dialog (iedtDialog) now allows users to select measure unit
- TImageEnIO.DialogsMeasureUnits: added ieduSelectableDefInches, ieduSelectableDefCm values
- Added "iptc" sample
- Added "UndoRedo" example

 

ImageEn 2.0.3 (9 Sep 2002)


- BUG: fixed bug on resample method
- TImageEn,TImageEnIO: ExecuteOpenDialog/ExecuteSaveDialog added FilterIndex parameter
- TImageEnProc: added CalcDensityHistogram method
- new example DensityAnalysis
- BUG: TImageEnVect: division by zero exception on horizontal or vertical polylines
- BUG: move selections raise access violation
- BUG: doesn't refresh image when the component is out of desktop
- BUG: TImageEnIO.InjectJpegIPTC method doesn't work with some Jpegs
- Input/output params (TImageEnIO.Params): added TIFF_Orientation property
- TImageEnView: added OnProgress event (for input/output and image processing tasks, using .io and .proc)
- TImageEn: renamed ImageEnProc property to Proc
- TImageEn: renamed ImageEnIO property to IO
- TImageEnIO: now TImageEnIO can read single AVI frames
- TImageEnIO: added OpenAVIFile method
- TImageEnIO: added CloseAVIFile method
- TImageEnIO: added LoadFromAVI method
- TImageEnIO.Params: added AVI_FrameCount
- TImageEnIO.Params: added AVI_FrameDelayTime
- TIFF: supported saving of paletted images with 4,8,16,32,64,128 and 256 colors
- recompiled Jpeg library
- TImageEnIO.TWainParams: added StandardSize property (ICAP_SUPPORTEDSIZES of TWain spec.)
- JPEG: supported lossless cut (cut out part of the image)
- JpegLosslessTransform: added CutRect parameter and jtCut value in Transform
- JpegLosslessTransformStream: added CutRect parameter and jtCut value in Transform
- TImageEnView: added CopyToBitmapWithAlpha method
- I/O preview (file format parameters dialog): added optional "Apply" button
- TImageEnIO: added ioppApplyButton to PreviewParams property
- Delphi 7 compatibility
- BUG: TImageEnMView, refresh problems
- ImageEnIO unit: added public function IsKnownFormat
- now Thumbnails example uses IsKnownFormat instead of ParamsFromFile to optimize performance
- EXIF: now ImageEn resets EXIF information before load a new image

 

ImageEn 2.0.2 (21 Aug 2002)


- BUG: TIFF: fixed bug on read some CCITT-1D images
- BUG: Printing preview window doesn't work with TImage objects
- BUG: TImageEnVect: when Style doesn't contain ievsSelectable the grips all still visible
- TImageEnProc.Preview now peBumpMap, peLens, peWave, peRotate and peFFT disable zoom on preview
- added "FAX" (CCITT3) extension
- TImageEnVect: added GetObjFromIndex method (allows to iterate objects)
- TImageEnVect: enabled ALT key to maintain aspect ratio when resizing
- TImageEnVect: now ForceALTKey works also for vectorial objects (on resizing)
- Open/Save dialogs: now open/save dialog file formats list depends from WriteFunction/ReadFunction values
- TImageEnMView: added InsertingPoint method
- new example FileList_TImageEnMView, drag&drop demo
- new example TImageEnMView_FileList, drag&drop demo
- new example TImageEnMView_dragdrop, drag&drop demo
- BUG: fixed a memory leak
- supported LossLess transformations
- recompiled jpeg library
- TImageEnIO: added JpegLosslessTransform function
- TImageEnIO: added JpegLosslessTransformStream function
- TResampleFilter: added rfFastLinear filter
- TImageEnVect: added RemovePolygonJaggedEdges method
- TImageEnVect: added SimplifyPolygon method
- TImageEnVect: added ObjTextAutoSize[] property

 

ImageEn 2.0.1 (15 Jul 2002)


- TResampleFilter: added rfNearest,rfLinear values
- TIOTIFFCompression: added ioTIFF_UNKNOWN
- BUG: fixed some TWain bugs
- TWainParams: added UndefinedImageSize property
- BUG: SelX1,SelY1,SelX2,SelY2 are not updated with OnSelectionChanging event
- TImageEnProc: Resample now applies a filter to b/w images also if FilterType<>rfNone
- Added Swedish language (msSwedish)
- TImageEnProc.SkewDetection: added AngleRange and Precision parameters
- TImageEnVect: added SetGripStyle method
- TImageEnView: added EndSelect method
- TImageEnView: now AddSelPoint and AddSelBreak requires EndSelect to work
- BUG: fixed some general bugs

 

ImageEn 2.0.0 (26 Jun 2002)


- BUG: Print previews: printer setup dialog doesn't refresh the preview
- BUG: Open/Save dialogs: fixed minor bugs
- TImageEnProc: added ClearAllUndo method
- TImageEnProc: added ClearUndoAt method
- TImageEnDBView, TImageEnDBVect: BUG: fixed some minor bugs

 

ImageEn 1.9.9 (16 Jun 2002)

- BUG: TImageEnView: sometime ImageEn doesn't refresh client area
- Documented TImageEnView.SelectionMask
- BUG: TImageEnVect: fixed bug on loading old IEV format
- BUG: fixed some minor bugs
- improved performance (100-150%) for read TIFF-CCITT images
- TImageEnMView: added multiselection support
- TImageEnMView: added MultiSelecting property
- TImageEnMView: added EnableMultiSelect property
- TImageEnMView: added MultiSelectionOptions property
- TImageEnMView: added MultiSelectedImages property
- TImageEnMView: added MultiSelectedImagesCount property
- TImageEnMView: added UnSelectImage method
- TImageEnMView: added DeleteSelectedImages method
- TImageEnMView: added ImageAtGridPos method
- TImageEnMView: added ThumbnailsBorderWidth property
- TImageEnMView: added ThumbnailsBorderColor property
- TImageEnMView: added wallpaper background
- TImageEnMView: added WallPaper property
- TImageEnMView: added WallPaperStyle property
- TImageEnProc, TImageEn: added multiple undo
- TImageEnProc, TImageEn: added UndoLocation property
- TImageEnProc, TImageEn: added UndoLimit property
- TImageEnProc, TImageEn: added UndoAt method
- TImageEnProc, TImageEn: added UndoCount property
- TImageEnProc, TImageEn: added UndoCaptions property
- TImageEnProc, TImageEn: added SaveUndoCaptioned method
- TImageEnVect: implemented clipboard copy/cut/paste for vectorial objects
- TImageEnVect: added ObjCopyToClipboard method
- TImageEnVect: added ObjCutToClipboard method
- TImageEnVect: added ObjPasteFromClipboard method
- TImageEnVect: supported polyline (open polygons)
- TImageEnVect: added iekPOLYLINE vectorial object (in TIEVObjectKind type)
- TImageEnVect.MouseInteractVt: added miPutPolyLine to put Polyline using mouse
- TImageEnVect: added ObjPolylinePoints[] property (readonly)
- TImageEnVect: added ObjPolylinePointsCount property (readonly)
- TImageEnVect: added SetObjPolylinePoints method
- TImageEnMView: BUG: memory leak on ReleaseBitmap method (occurs when save AVI,TIFF and GIF)
- TImageEnVect: added CreatePolygonFromEdge method
- TImageEnVect: added GetPolylineLen method
- TImageEnVect: added GetPolylineArea method
- TImageEnVect: added GetPolylineCentroid method
- BUG: Win98 and BCB6: open/save dialogs doesn't work
- TWainParams: added Contrast property
- TWainParams: added Brightness property
- TWainParams: added Threshold property
- Now adjust width and height when DpiX<>DpiY
- TImageEnIO: added AutoAdjustDPI property (default True)
- TImageEnVect: customizable measure hint
- TImageEnVect: added MeasureHintFont property
- TImageEnVect: added MeasureHintBrush property
- TImageEnVect: added MeasureHintBorder1 property
- TImageEnVect: added MeasureHintBorder2 property
- TImageEnView: added CopySelectionToBitmap method

 

ImageEn 1.9.8 (1 Apr 2002)


- removed TImageEnProc: SelX1,SelY1,SelX2,SelY2 properties
- removed TImageEnProc: Select, SelectAll properties
- changed selection system, now uses bitmap mask instead of polygons
- TImageEnView: added MagicWandMode property
- added dutch language (added msDutch in TMsgLanguage)
- BUG: now [iesoMoveable] of TImageEnView.SelectionOptions works
- TImageEnMIO/TImageEnIO.TWainParams: added PaperDetectable property
- TImageEnView: added OnPaint event
- BUG: TImageEnView: fixed some bugs
- TImageEn, TImageEnIO: added ExecuteOpenDialog
- TImageEN, TImageEnIO: added ExecuteSaveDialog
- added ieview.pas unit
- TImageEnView: added IO property (encapsulates TImageEnIO object)
- TImageEnView: added Proc property (encapsulates TImageEnProc object)
- Bug: TImageEnVect: editing keys in Delphi5/6 are disabled
- Bug: sometimes ImageEn saves wrong TIFF
- Bug: TImageEnVect: sometime moving or resizing objects doesn't follow the mouse movement
- TImageEnView: now on select or resizing regions pressing ALT the selection maintains aspect ratio
- TImageEnView: replaced CTRL with ALT to make circular selections
- TImageEnView: replaced CTRL with ALT in polygonal selections to make regular regions
- TIFF: now CIELAB is supported for saving
- TImageEnMView: added ImageCacheSize property
- BUG: PCX: save wrong 256 colors images
- BUG: TIEGRadientBar: some combinations of BeginColor and EndColor doesn't work
- Jpeg: added EXIF support (load only)
- ImageEnIO (TIOParamsVals): added EXIF_Bitmap property (contains thumbnails - not all formats are supported)
- ImageEnIO (TIOParamsVals): added EXIF_ImageDescription property (Describes image)
- ImageEnIO (TIOParamsVals): added EXIF_Model property (Shows model number of digicam)
- ImageEnIO (TIOParamsVals): added EXIF_Orientation property (The orientation of the camera relative to the scene, when the image was captured) 1 top left side 2 top right side 3 bottom right side 4 bottom left side 5 left side top 6 right side top 7 right side bottom 8 left side bottom
- ImageEnIO (TIOParamsVals): added EXIF_XResolution, EXIF_YResolution properties (Display/Print resolution of image. Default value is 1/72inch, but it has no mean because personal computer doesn't use this value to display/print out.)
- ImageEnIO (TIOParamsVals): added EXIF_ResolutionUnit property (Unit of XResolution/YResolution. '1' means no-unit, '2' means inch, '3' means centimeter. Default value is '2'(inch))
- ImageEnIO (TIOParamsVals): added EXIF_Software property (Shows firmware(internal software of digicam) version number)
- ImageEnIO (TIOParamsVals): added EXIF_DateTime property (Date/Time of image was last modified. Data format is "YYYY:MM:DD HH:MM:SS"+0x00, total 20bytes. If clock has not set or digicam doesn't have clock, the field may be filled with spaces. In usual, it has the same value of DateTimeOriginal)
- ImageEnIO (TIOParamsVals): added EXIF_WhitePoint[] property (Defines chromaticity of white point of the image. If the image uses CIE Standard Illumination D65(known as international standard of 'daylight'), the values are '3127/10000,3290/10000'.)
- ImageEnIO (TIOParamsVals): added EXIF_PrimaryChromaticities property (Defines chromaticity of the primaries of the image. If the image uses CCIR Recommendation 709 primaries, values are '640/1000,330/1000,300/1000,600/1000,150/1000,0/1000'.)
- ImageEnIO (TIOParamsVals): added EXIF_YCbCrCoefficients property (When image format is YCbCr, this value shows a constant to translate it to RGB format. In usual, values are '0.299/0.587/0.114'.)
- ImageEnIO (TIOParamsVals): added EXIF_YCbCrPositioning property (When image format is YCbCr and uses 'Subsampling'(cropping of chroma data, all the digicam do that), defines the chroma sample point of subsampling pixel array. '1' means the center of pixel array, '2' means the datum point.)
- ImageEnIO (TIOParamsVals): added EXIF_ReferenceBlackWhite property (Shows reference value of black point/white point. In case of YCbCr format, first 2 show black/white of Y, next 2 are Cb, last 2 are Cr. In case of RGB format, first 2 show black/white of R, next 2 are G, last 2 are B.)
- ImageEnIO (TIOParamsVals): added EXIF_Copyright property (Shows copyright information)
- ImageEnIO (TIOParamsVals): added EXIF_ExposureTime property (Exposure time (reciprocal of shutter speed). Unit is second.)
- ImageEnIO (TIOParamsVals): added EXIF_FNumber property (The actual F-number(F-stop) of lens when the image was taken.)
- ImageEnIO (TIOParamsVals): added EXIF_ExposureProgram property (Exposure program that the camera used when image was taken. '1' means manual control, '2' program normal, '3' aperture priority, '4' shutter priority, '5' program creative (slow program), '6' program action(high-speed program), '7' portrait mode, '8' landscape mode.)
- ImageEnIO (TIOParamsVals): added EXIF_ISOSpeedRatings property (CCD sensitivity equivalent to Ag-Hr film speedrate.)
- ImageEnIO (TIOParamsVals): added EXIF_ExifVersion property (Exif version number. Stored as 4bytes of ASCII character. If the picture is based on Exif V2.1, value is "0210". Since the type is 'undefined', there is no NULL(0x00) for termination.)
- ImageEnIO (TIOParamsVals): added EXIF_DateTimeOriginal property (Date/Time of original image taken. This value should not be modified by user program. Data format is "YYYY:MM:DD HH:MM:SS"+0x00, total 20bytes. If clock has not set or digicam doesn't have clock, the field may be filled with spaces. In the Exif standard, this tag is optional, but it is mandatory for DCF.)
- ImageEnIO (TIOParamsVals): added EXIF_DateTimeDigitized property (Date/Time of image digitized. Usually, it contains the same value of DateTimeOriginal(0x9003). Data format is "YYYY:MM:DD HH:MM:SS"+0x00, total 20bytes. If clock has not set or digicam doesn't have clock, the field may be filled with spaces. In the Exif standard, this tag is optional, but it is mandatory for DCF.)
- ImageEnIO (TIOParamsVals): added EXIF_CompressedBitsPerPixel property (The average compression ratio of JPEG (rough estimate))
- ImageEnIO (TIOParamsVals): added EXIF_ShutterSpeedValue property (Shutter speed by APEX value. To convert this value to ordinary 'Shutter Speed'; calculate this value's power of 2, then reciprocal. For example, if the ShutterSpeedValue is '4', shutter speed is 1/(24)=1/16 second.)
- ImageEnIO (TIOParamsVals): added EXIF_ApertureValue property (The actual aperture value of lens when the image was taken. Unit is APEX. To convert this value to ordinary F-number(F-stop), calculate this value's power of root 2 (=1.4142). For example, if the ApertureValue is '5', F-number is 1.41425 = F5.6.)
- ImageEnIO (TIOParamsVals): added EXIF_BrightnessValue property (Brightness of taken subject, unit is APEX. To calculate Exposure(Ev) from BrigtnessValue(Bv), you must add SensitivityValue(Sv). Ev=Bv+Sv Sv=log2(ISOSpeedRating/3.125) ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32. )
- ImageEnIO (TIOParamsVals): added EXIF_ExposureBiasValue property (Exposure bias(compensation) value of taking picture. Unit is APEX(EV).)
- ImageEnIO (TIOParamsVals): added EXIF_MaxApertureValue property (Maximum aperture value of lens. You can convert to F-number by calculating power of root 2 (same process of ApertureValue).)
- ImageEnIO (TIOParamsVals): added EXIF_SubjectDistance property (Distance to focus point, unit is meter.)
- ImageEnIO (TIOParamsVals): added EXIF_MeteringMode property (Exposure metering method. '0' means unknown, '1' average, '2' center weighted average, '3' spot, '4' multi-spot, '5' multi-segment, '6' partial, '255' other.)
- ImageEnIO (TIOParamsVals): added EXIF_LightSource property (Light source, actually this means white balance setting. '0' means unknown, '1' daylight, '2' fluorescent, '3' tungsten, '10' flash, '17' standard light A, '18' standard light B, '19' standard light C, '20' D55, '21' D65, '22' D75, '255' other.)
- ImageEnIO (TIOParamsVals): added EXIF_Flash property ('0' means flash did not fire, '1' flash fired, '5' flash fired but strobe return light not detected, '7' flash fired and strobe return light detected.)
- ImageEnIO (TIOParamsVals): added EXIF_FocalLength property (Focal length of lens used to take image. Unit is millimeter.)
- ImageEnIO (TIOParamsVals): added EXIF_SubsecTime, EXIF_SubsecTimeOriginal, EXIF_SubsecTimeDigitized properties (Some of digicam can take 2~30 pictures per second, but DateTime/DateTimeOriginal/DateTimeDigitized tag can't record the sub-second time. SubsecTime tag is used to record it. For example, DateTimeOriginal = "1996:09:01 09:15:30", SubSecTimeOriginal = "130", Combined original time is "1996:09:01 09:15:30.130")
- ImageEnIO (TIOParamsVals): added EXIF_FlashPixVersion property (Stores FlashPix version. If the image data is based on FlashPix formar Ver.1.0, value is "0100". )
- ImageEnIO (TIOParamsVals): added EXIF_ColorSpace property (Defines Color Space. DCF image must use sRGB color space so value is always '1'. If the picture uses the other color space, value is '65535':Uncalibrated.)
- ImageEnIO (TIOParamsVals): added EXIF_ExifImageWidth, EXIF_ExifImageHeight properties (Size of main image.)
- ImageEnIO (TIOParamsVals): added EXIF_RelatedSoundFile property (If this digicam can record audio data with image, shows name of audio data.)
- ImageEnIO (TIOParamsVals): added EXIF_FocalPlaneXResolution, EXIF_FocalPlaneYResolution properties (Pixel density at CCD's position. If you have MegaPixel digicam and take a picture by lower resolution(e.g.VGA mode), this value is re-sampled by picture resolution. In such case, FocalPlaneResolution is not same as CCD's actual resolution.)
- ImageEnIO (TIOParamsVals): added EXIF_FocalPlaneResolutionUnit property (Unit of FocalPlaneXResoluton/FocalPlaneYResolution. '1' means no-unit, '2' inch, '3' centimeter. Note:Some of Fujifilm's digicam(e.g.FX2700,FX2900,Finepix4700Z/40i etc) uses value '3' so it must be 'centimeter', but it seems that they use a '8.3mm?'(1/3in.?) to their ResolutionUnit. Fuji's BUG? Finepix4900Z has been changed to use value '2' but it doesn't match to actual value also.)
- ImageEnIO (TIOParamsVals): added EXIF_ExposureIndex property (Same as ISOSpeedRatings(0x8827) but data type is unsigned rational. Only Kodak's digicam uses this tag instead of ISOSpeedRating.)
- ImageEnIO (TIOParamsVals): added EXIF_SensingMethod property (Shows type of image sensor unit. '2' means 1 chip color area sensor, most of all digicam use this type.)
- ImageEnIO (TIOParamsVals): added EXIF_FileSource property (Indicates the image source. Value '0x03' means the image source is digital still camera.)
- ImageEnIO (TIOParamsVals): added EXIF_SceneType property (Indicates the type of scene. Value '0x01' means that the image was directly photographed.)
- Jpeg: now load DPI values from Exif fields
- Open/Save dialogs: doesn't display GIF extension if DefGIF_LZWDECOMPFUNC=nil and/or DefGIF_LZWCOMPFUNC=nil
- TIFF: load of some simple Jpeg subformat
- TImageEnView, TImageEnMView: added 30 transition effects
- TImageEnMView: added TransitionEffect, TransitionDuration and TransitionRunning properties
- TImageEnView: added TransitionRunning property
- TImageEnView: added PrepareTransition and RunTransition methods
- TImageEnView: added support for alpha channel
- TImageEnView: added EnableAlphaChannel property (False for default)
- TImageEnView: added AlphaChannel property
- GIF,TIFF,PNG,ICO,CUR: now load alpha channel
- BMP,JPEG,PCX,WMF,EMF,TGA,PXM: now reset alpha channel
- Open/save dialogs: now shows places bar on Win2000/Xp/Me
- TOpenImageEnDialog, TSaveImageEnDialog: added ShowPlacesBar published property
- TImageEnProc, TImageEnIO: added AlphaChannel property
- TImageEnVect: now images support alpha channel (transparent feature)
- TImageEnVect: new IEV subformat version (ver 7)
- TImageEnVect: added ObjBitmapAlpha[] property
- TImageEnVect: added SetObjBitmapFromFile method
- ImageEnIO (TIOParamsVals): added JPEG_Scale_Used property
- BUG: TIFF: fixed bug on read some CCITT images
- TIFF: now adjust orientation
- ImageEnIO (TIOParamsVals): added TIFF_EnableAdjustOrientation property
- TImageEnView: now MouseInteract can contains both miSelectCircle and miZoom
- TImageEnView: added miSelectLasso option to MouseInteract property
- TImageEnView: added iesoCutBorders to SelectionOptions
- BUG: some TIFFs are unreadable
- JPEG: now read jpeg with an unknown initial header
- TImageEnView: added InvertSelection method
- TImageEnView: disabled DoubleBuffer property. Now is always True
- TImageEnView: now null selections are removed
- ICO,CUR: fixed some bugs on reading
- BUG: bug on read 16 bit bmp
- TImageEnView: added UpdateRect method
- PNG: now saves alpha channel
- Jpeg: more stable on corrupted files
- open/save dialogs: added ExtendedDialog property
- TImageEnVect: added OnObjectMoveResize event
- BUG: injecting IPTC info fails with jpeg without APP0 marker
- TImageEnVect: added OnObjectClick event
- TImageEnVect: added OnObjectDblClick event
- TImageEnVect: added OnObjectOver event
- TImageEnVect: added FindObjectAt method
- BUG: Printing/preview: some images are incorrectly printed
- BUG: TImageEnView OnKeyUp doesn't work with special keys
- TImageEnProc, TImageEn: now Rotate accept double value for angle
- Preview: now Rotate preview accept float point values
- THSVBox: added HueBarWidth property
- THSVBox: added BarsDistance property
- BUG: bug on Resample to 2x2 size
- TImageEnView: AssignSelTo now supports TImage
- TImageEnView: added SetSelectedAreaAlpha method
- TImageEnIO, TImageEn: added CaptureFromScreen method
- TImageEnIO.TWainParams: added FreeResources method
- added unit ieprnform1.pas (ieprnform1.dfm)
- added unit ieprnform2.pas (ieprnform2.dfm)
- TImageEnIO, TImageEn: added DoPrintPreviewDialog method
- TImageEnIO, TImageEn: added DialogsMeasureUnit property
- TImageEnView: added SetGripStyle method
- TImageEnView: added SetChessboardStyle method
- TImageEnMView: Added ImageTopText[], ImageBottomText[] and ImageInfoText[] properties
- TImageEnMView: new 3d style
- TImageEnMView: added Style property (default iemsACD)
- TImageEnMView: added SelectionStyle property (default iessACD)
- added support for C++Builder 6
- TImageEnVideoCap: added UseWindowsCodec property
- TImageEnProc, TImageEn: added EdgeDetect_ShenCastan method
- Preview dialogs: on XP the tabs now are on top
- TImageEnView: added ForceALTkey property
- TImageEnIO.Params (TIOParamsVals): added JPEG_WarningTot and JPEG_WarningCode properties
- TImageEnView: added PaintRect method
- TImageEnView: added OnMouseInResizingGrip
- TImageEnView: now a single click (out of selection) remove current selection
- TImageEnView: added OnZoomIn and OnZoomOut events
- TImageEnProc: added SkewDetection method
- TImageEnMView: added ThumbnailsBackground property
- TImageEnIO.TWainParam: added GetFromScanner method
- BUG: TImageEnProc: bug on HistEqualize method using separated color channels
- TImageEnView, TImageEnMView: added OnMouseEnter and OnMouseLeave events
- TImageEnView: added DelayDisplaySelection property
- TImageEnProc: TImageEnProc: added Fill method

 

ImageEn 1.9.7b (25 Aug 2001)


- TImageEnIO: added InjectJpegIPTC method
- TImageEnIO: added InjectJpegIPTCStream method
- TWain: fixed some minor bugs
- TOpenImageEnDialog: added PreviewBorderStyle published property
- TImageEnView.BackgroundStyle: added iebsCropped and iebsCropShadow styles
- TIEWainParams: added DuplexSupported property
- TImageEnIO, TImageEn: added PreviewPrintImage method
- PhotoEn example: added printing and printing preview features

 

ImageEn 1.9.7a (18 Aug 2001)


- BUG: resample black/white images problem
- BUG: preview dialog crash
- TImageEnIO (TImageEn): added PrintImagePos method
- TImageEnIO (TImageEn): added PrintImage method
- BUG: open/save dialog doesn't open with Delphi6+win98se
- BUG: memory leak on FFT functions

 

ImageEn 1.9.7 (7 Aug 2001)


- BUG: TImageEnView: moving selection out of image raise an exception
- BUG: saving GIF with less than 100 pixels raises exception
- BUG: crash saving BMP with RLE compression
- BUG: some copy to clipboard problems
- bug: TImageEnVect: rotating lines/rulers of 180 degrees, they become unselectable
- bug: TImageEnView: making a multiselection and moving it the selectio become corrupted
- BUG: TIFF doesn't read non-intel 16bit images
- BUG: sometime copying irregular selection of black/white images doesn't work
- BUG: TImageEnMView: double click call OnImageSelect twice
- file read: now the open mode is (fmOpenRead or fmShareDenyWrite)
- file write: Aborting property become True on write error (disk full,write-protect,etc...)
- Open/Save dialog: now Animate and Preview buttons has the hints
- TImageEnVect: now changes to text object properties is shown also on text editing
- TImageEnView: now OnKeyDown/up accepts arrows key
- TImageEnMView: now stores images in a memory mapped file. This allows to handle large sequences and improve general performance
- TImageEnMView: removed undocumented GetBitmapInfo method
- DEF_TEMPPATH global variable (unit ImageEnIO)
- TImageEnMView: added PrepareSpaceFor method
- TImageEnMView: added InsertImageEx method
- TImageEnMView: added SetImageEx method
- TDBImageEnView,TDBImageEnVect: now Field accept string field, that can contains file path instead of entire image
- TDBImageEnView, TDBImageEnVect: added AbsolutePath property
- TDBImageEnView, TDBImageEnVect: now DataFieldImageFormat is not more updated by the field content
- TImageEnProc: now ConvertToPalette is visible in C++Builder
- TWainParams.FeederLoaded property

 

ImageEn 1.9.6 (3 Jul 2001)


- TImageEnView: now DoubleBuffer is True for default
- TImageEnView.SelectionOptions:TIESelectionOptions, added iesoFilled option
- BUG: TImageEnView: fixed minor bugs
- Delphi 6 compatibility

 

ImageEn 1.9.5 (22 Jun 2001)


- TImageEnView: DelayZoomFilter is True for default
- TImageEnView: B/W subsample filtering is active only when ZoomFilter<>rfNone
- BUG: sometime Photoshop cannot read ImageEn saved jpeg with added IPTC fields
- TWain: improved stablity for TWain critical tasks (acquiring big images, unsupported by TBitmap)
- TImageEnIO, TImageEn: added ParamsFromFileFormat and ParamsFromStreamFormat methods
- TWain: to speed-up continous twain tasks, now some parts (source manager) remain opened
- TSaveImageEnDialog: removed "All Graphics" option from file formats list
- BUG: TSaveImageEnDialog: leaving file-extension out, Save dialog doesn't say the file already exists
- TImageEnVect: added 'microns' and 'NANOMETERS' measure units (ieuMICRONS, ieuNANOMETERS)
- TImageEnVect: added left space at the measure hint
- TImageEnVect: now ruler object uses ObjPenWidth[] property
- HELP: Removed PreviewRate from TImageEnVideoCap component
- HELP: CenterFrame now is documented
- BUG: TImageEnView: now XScr2Bmp and YScr2Bmp return right value on big zoom
- BUG: selections now are more precise on big zoom
- BUG: TImageEnView: on MouseInteract=miZoom, right mouse doesn't work
- TIFF: now supported tiled tiff
- BUG: reading IPTC string items some bytes are appended to the true value and length is increased
- BUG: TImageEnVideoCap sometimes fails driver connecting
- TImageEnMView, TImageEnMIO: now calling Deselect before Acquire, the acquired image will be append to the end of list
- TImageEnVect: added MaxSelectionDistance property
- TImageEnView: now Zoom property accept float point values
- TImageEnView: now ZoomAt property accept float point values for zoom
- BUG: Open/Save dialog on Win95/98/Me systems sometime crash
- BUG: multi TImageEnView and TImageEnMView on the form on 256 color system doesn't work
- TImageEnView: now OnMouseInSel works with all selection types
- TImageEnView: added IsPointInsideSelection method
- Added PBM, PGM and PPM file format support
- TImageEn, TImageEnIO: added LoadFromFilePXM, LoadFromStreamPXM, SaveToFilePXM, SaveToStreamPXM methods
- TDataFieldImageFormat: added ifPXM item
- TImageEnIO unit: added ioPXM constant
- TIOParamsVals (Params property of TImageEnIO): added PXM_Comments[] property
- Now it is possibile move circular, polygonal and magic-wand selections

 

ImageEn 1.9.4 (21 Maj 2001)


- BUG: Vertical flip on 1bpp images crashes
- BUG: TImageEnView and TImageEnVect: mouse event responds only to right mouse event (except for zoom-out)
- Jpeg: ParamsFromFile and ParamsFromStream now loads IPTC info (it is possible load IPTC info without load the image)
- TImageEnMView: added ThumbnailResampleFilter property
- BUG: fixed a bug in magic wand selection
- BUG: fixed TWain problems with some scanners
- TImageEnMView: b/w image now are filtered (large b/w was not visible)
- BUG: when user double click to finish a polygonal selection, OnSelectionChange isn't called
- BUG: open/save dialogs: pressing "Advanced" with tga files doesn't display paramters
- Dataware components: now reads paradox graphic blobs
- TImageEnMView: added MoveImage method
- TImageEnVideoView, TImageEnVideoCap: added AudioFormat, AudioChannels, AudioSamplesPerSec, AudioBitsPerSample properties
- TWainParams: added GetDefaultSource function (to get default TWain scanner)
- TImageEnMIO: for TWain, now Duplex and Multifeeder are true for default
- TImageEnVect: now it is possible to define background style and border for text objects
- BUG: ImageEnView line scrolling with zoom < 100 doesn't work
- TImageEnView: now supports mouse wheel for scroll and zoom (default)
- TImageEnView: added MouseWheelParams property
- TImageEnMView: now supports mouse wheel (only vertical scroll)

 

ImageEn 1.9.3 (21 Apr 2001)


- BUG: TImageEnMView, OnKeyDown doesn't work
- BUG: TImageEnVect, last DeleteObject call deletes two objects
- TWain scanners, improved stability and performance
- TWain scanners, added TWainParams.DuplexEnabled property
- TWain scanners, added TWainParams.AcquireFrameEnabled
- BUG: some french translation errors

 

ImageEn 1.9.2 (11 Mar 2001)


- renamed TProgressEvent to TIEProgressEvent
- BUG Fix: now read well 4 bit BMP with odd width
- TImageEnVideoView now inherited from TImageEnVect (instead of TImageEnView)
- TImageEnVect: removed unused methodsCopyToClipboard, PasteFromClipboard,InsertFromClipboard,CutToClipboard
- Image Processing Previews: changed rotate behavior
- BUG: TImageEnXX now Ctl3D works well
- TImageEnMView: added SetImageFromFile method
- TImageEnVideoView: added SaveFrame method
- TImageEnIO,TImageEn: now ParamsFromFile and ParamsFromStream set Aborting to correct value
- TImageEnVideoView: now StartRecord returns True or False instead of raise exception
- TImageEnVect: antialias of text display (if the font supports it)
- zoom-out with true color images now is filtered (if ZoomFilter<>rfNone)
- TImageEnVect: added event OnNewObject
- TImageEnVect: added BitmapResampleFilter published property
- new component: TImageEnDBVect (as TImageEnDBView but inherited from TImageEnVect and saves vectorial objects also)
- LoadFromFileIEV now return False (instead raise exception) on error
- LoadFromStreamIEV now return False (instead raise exception) on error
- ImportDXF now return False (instead raise exception) on error
- TImageEnVect: now 'IEV1' and 'IEV2' of .iev format are unsupported
- removed iekFRAME from TIEVObjectKind
- added iekNONE from TIEVObjectKind
- TImageEnVect: added CopyAllObjectsTo method
- TImageEnVect: added CopyObjectTo method
- TImageEnVect: added CopySelectedObjectsTo method
- TQRDBImageEn: now print vectorial objects
- TQRDBImageEn: added PrintObjects published property
- BUG: TImageEnView raise "Division by zero" when click pagedown/up and zoom < 100
- now read TIFF-CCITT files saved by ACDSee 3.1
- TImageEnVect: now "Assign" method copy objects and background image

 

ImageEn 1.9.1 (5 Mar 2001)


- BUG: non-standard IPTC JPeg raises exceptions
- BUG: Open/Save dialogs raises exceptions on preview
- BUG: Open/Save dialogs doesn't shows when Options.ofEnableSizing=True
- BUG: db examples set always Jpeg format when click on Append button
- TImageEnIO, TImageEn: now clear IPTC info before load all file formats

 

ImageEn 1.9 (26 Feb 2001)

New features:
- new component TImageEnVideoCap for video capturing without view input
- Zoom out of B/W images now is filtered
- JPEG now uses the jpeg library version 6b
- TImageEn, TImageEnView, TImageEnVect, TImageEnVideoView: now when zoom in/out the position stays about the same.
- TImageEnView, TImageEn, TImageEnVect, TImageEnVideoView: now scroll bars works with very large in-zoom
- JPEG: IOParams added JPEG_MarkerList property (TIEMarkerList object)
- JPEG: now load and save markers and text comments
- enhanced selection precision (with big zoom). Now selections are quantized to the pixel dimension
- TImageEn, TImageEnView, TImageEnVect: added DisplayGrid run-time property
- JPEG: read/write IPTC (IIMV4) informations (read/write PhotoShop file info)
- TImageEnIO (TImageEn): Added (IOParams) Params.IPTC_Info:TIEIPTCInfoList property
- Previews: added russian language (msRussian to TMsgLanguage)
- TImageEnMView: added VScrollBarParams and HScrollBarParams run-time properties
- TImageEnView (TImageEn,TImageEnVect,etc): added HScrollBarParams and VScrollBarParams run-time properties

Fixed bugs:
- BUG: TImageEnMView: crash if OnImageSelect event uses selected image
- BUG: fixed TIFF write incompatibilty
- BUG: TImageEnMView: solved variuos minor bugs
- BUG: fixed CropSel bug with black/white images
- TImageEn, TImageEnView, TImageEnVect, TImageEnVideoView: now OnMouseDown/Up/Move works
- TImageEnMView: now scroll bars works when a lot of thumbnails are loaded
- BUG: TImageEnVect: fixed exception in code on text insert

Minor enhancements:
- TImageEnIO.Params (TIOParamsVals): added GIF_ImageCount property (readonly)
- TImageEn.IOParams (TIOParamsVals): added GIF_ImageCount property (readonly)
- TImageEnIO.Params (TIOParamsVals): added TIFF_ImageCount property (readonly)
- TImageEn.IOParams (TIOParamsVals): added TIFF_ImageCount property (readonly)
- TImageEnIO, TImageEn: added LoadFromFileFormat method
- TImageEnIO, TImageEn: added LoadFromStreamFormat method
- TImageEnMView: now scroll-bar line down/up/left/right scroll per thumbnail instead of per pixel
- TImageEnMView: added run-time property ScrollBarsAlwaysVisible
- TImageEn, TImageEnView, TImageEnVect, TImageEnVideoView: added run-time property ScrollBarsAlwaysVisible

Other:
- TImageEnView: DelayZoomFilter now is published property
- ieutils unit name changed to hyieutils
- iedefs unit name changed to hyiedefs

 

ImageEn 1.8 (13 Jul 2000)


- added MagicWand feature
- TIEMouseInteractItems added miSelectMagicWand
- TImageEnView, TImageEn: added miSelectMagicWand value in MouseInteract property
- TImageEnView, TImageEn: added SelectMagicWand method
- TImageEnView, TImageEn: added MagicWandMaxFilter property
- TImageEnView, TImageEn: added MagicWandTolerance property
- BUG: TImageEnView, fixed some selection bugs
- BUG: TImageEnView, fixed area and perimeter measurements
- TImageEnView: added "multi-selection" feature (SHIFT key allows to select multi regions)
- TImageEnView: added AddSelBreak method
- TImageEnView,TImageEnProc: changed Select method definition (added a parameter)
- BUG: TImageEnMView: B/W images are all white or all black
- TImageEnVect: "ruler" vectorial object
- TImageEnVect:MouseInteractVt added miPutRuler
- TImageEnVect:TIEVObjectKind added iekRULER
- TImageEnVect:IEV format updated
- TImageEnVect:added ObjRulerUnit property
- TImageEnVect: added ObjRulerType property
- TImageEnMView: added RemoveCorrupted published property
- ICO: now reads True color ICOs
- supports for DIB files
- supports for RLE files
- load/save Truevision Targa files (new format, compressed) (tga,targa,vda,icb,vst,pix)
- new unit ietgafil.pas
- added ioTGA to TIOFileType type
- TImageEnIO: added LoadFromFileTGA, LoadFromStreamTGA, SaveToFileTGA,SaveToStreamTGA methods
- TImageEn:added LoadFromFileTGA, LoadFromStreamTGA, SaveToFileTGA,SaveToStreamTGA methods
- TImageEnIO.Params added properties: TGA_XPos,TGA_YPos,TGA_Compressed,TGA_Descriptor, TGA_Author,TGA_Date,TGA_ImageName,TGA_Background,TGA_AspectRatio,TGA_Gamma,TGA_GrayLevel
- I/O Preview: added TGA file format
- TPreviewParams: added ppTGA
- TImageEnDBView now can load/save TGA blob files
- TImageEnDBView:TDataFieldImageFormat added ifTGA value
- TImageEnView: added OnMouseInSel event
- twain: auto recognize when buffer transfer is supported
- TWain parameters (TImageEnIO.TWParams:TIETWainParams): added AppVersionInfo, AppManufacturer, AppProductFamily and AppProductName properties
- TImageEnVect: added OnDragLenEnd event
- TImageEnVect: GetSelectionCentroid method
- BUG: TImageEnView: PolySel[] property now gets right values (zoom indipendent)
- TImageEnMView: added DrawImageBackground published property
- BUG: ICO, CUR, now background color is processed
- TImageEnIO.Params added ICO_Background and CUR_Background properties
- TImageEnProc: added IECopyBitmap public function
- TImageEnProc: added IECloneBitmap public function
- BUG: Tiff saves B/W inverted images

 

ImageEn 1.7 (15 Apr 2000)


- BUG: GIF reader doesn't read 1 bit images
- BUG: TIFF reader doesn't read 1 bit images
- BUG: TIFF reader doesn't read some LZW compressed images
- BUG: GIF more stablity
- Changed GifLZW.pas
- Changed GIFFilter.pas
- BUG: TIFF reader doesn't read CMYK images compressed with LZW
- TImageEnProc, TImageEn: added Maximum method (maximum/dilation filter)
- TImageEnProc, TImageEn: added Minimum method (minimum/erosion filter)
- TImageEnProc, TImageEn: added Opening method (open filter)
- TImageEnProc, TImageEn: added Closing method (close filter)
- added peMorph to TPreviewEffects type (added morph filters preview)
- ppeEffects constant set now contains peMorph
- BUG: ParamsFromFile and ParamsFromStream now recognize user file formats
- BUG: Open/save dialogs now display user file formats informations also when Preview=off
- added 'jpe' extension to jpeg format
- BUG: ioJPEG_AUTOCALC in Params.TIOJPEGScale doesn't calc image scale correctly
- TImageEnVect: added miDragLen in TIEMouseInteractVt type (MouseInteractVt property) to dynamically measure distance without selection
- TImageEnVect: Added property AllObjectsHiddenthat shows/hides all vectorial objects at once
- TImageEnView, TImageEn: renamed OnSelectionChange to "OnSelectionChanging" and added new event OnSelectionChange that gets fired on MouseUp
- Greek language: added msGreek in MsgLanguage properties
- TImageEnProc: added peMorph and peRotate to ppeEffects constant set
- TImageEnIO: now images produced by photoshop 3 doesn't set Aborting to True
- added peRotate to TPreviewEffects type (added rotate/flip preview)
- TImageEnView: removed AnimatedSel published property (replaced by SelectionOptions)
- TImageEnView.AnimPolygonNew function added VSizeable parameter
- TImageEnView: added SelectionOptions published property
- TImageEnView, TImageEn, TImageEnVect: added resizeable selection (iesoSizeable in SelectionOptions)
- TImageEnView, TImageEn, TImageEnVect: added moveable selection (iesoMoevable in SelectionOptions)
- BUG: now LoadFromFile and SaveToFile set Aborting with unrecognized file format extension
- TIEFileFormatInfo: removed Extension and Extension2
- TIEFileFormatInfo: added Extensions field (you can add multiple extension specifing 'jpg;jpe;jpeg')
- TImageEnIO, TImageEn: added LoadFromStream method
- TImageEnIO, TImageEn: added SaveToStream method
- TImageEnVect: now "Enter" key save and close the edit box
- TImageEnVect: now "Esc" key abort and close the edit box
- TImageEnVect: now "F2" key switch to edit mode the edit box
- TImageEnVect: now zoom works well with vectorial objects
- TImageEnVect: added property ZoomObjectsWidth
- TImageEnProc, TImageEn: added OnPreview event
- TImageEnIO, TImageEn: added OnIOPreview event
- TImageEnVect: added ObjectsCount:integer property
- TImageEnVect: added ObjectsExtents:TRect property
- TImageEnVect: added SelAllObjects method
- TImageEnVect: added OnVectorialChanged event
- TIFF: read of CIELab subformat
- BUG: BMP file format, inverting some 1 bit images
- BUG: TImageEnView: page-up/down in scroll bars
- new words translation system
- unit IEUTils: added IESetTranslationWord procedure
- added unit iewords.pas
- TImageEnProc, TImageEn: added GetRGBChannel method
- TImageEnProc, TImageEn: added GetRGBChannelAll method
- new class TIEFtImage (undocumented for now) for Fourier transformations
- added unit iefft.dcu
- TImageEnProc, TImageEn: added FTCreateImage method
- TImageEnProc, TImageEn: added FTConvertFrom method
- TImageEnProc, TImageEn: added FTDisplayFrom method
- Previews: added Fast Fourier Transformation (frequency domain) processing
- added peFFT to TPreviewEffects
- added peFFT to ppeColorAdjust
- Open/save dialogs: added AlwaysAnimate published property to auto-animate GIF and AVI
- BUG: TImageEnIO.ParamsFromFile crash recognizing Jpeg files
- C++Builder 5 compatibility

 

ImageEn 1.6 (5 Feb 2000)


- BUG: Improved general input/output stability
- FindFileFormat function: now verifies file extension also (changed declaration)
- TImageEnIO.ParamsFromFile: now verifies file extension also
- updated TIFLZW.PAS and GIFLZW.PAS files
- TImageEnIO: Now corrupted files doesn't generate exceptions but set Aborting property to True
- PCX: reading of 4 planes images
- TImageEnProc.LoadFilterFromFile doesn't generate exceptions
- TImageEnMIO: added Aborting property
- TImageEnMIO: Now corrupted files doesn't generate exceptions but set Aborting property to True
- BUG: Open/Save dialog now has 3D border also in single images
- BUG: Acquire return always False
- ICO: now load ICO (renamed BMP) with 256 colors
- removed time expired in trial versions
- TImageEnIO, TImageEn, TImageEnDBView: now StreamHeaders is false by default
- BUG: TImageEnDBView crashes if no dataset is connected to its datasource
- BUG: AVI open, TImageEnMIO crashes when AVI decompressor not found
- TIFF: now loads 2,3,5,6,7 bits colormapped images
- TIFF: now loads 16,32 RGB images
- TImageEnIO: fParams variable now is Protected
- TImageEnIO, TImageEnMIO: fAborting variable now is Protected
- TImageEnIO, TImageEnMIO, TImageEnProc: fOnProgress variable now is Protected
- TImageEnIO, TImageEn: LoadFromFile, SaveToFile methods now are dynamic
- TImageEnIO, TImageEn: ParamsFromStream, ParamsFromFile methods now are dynamic
- TImageEn: removed NColors property
- TImageEnVideoView: removed global variables (now multicapture should be handled)
- TImageEnVideoView: supported ALL installed Codec for video capture
- TImageEnVideoView: autorecognized video format for video capture
- TImageEnVideoView: removed VideoFormat property
- TImageEnVideoView: removed VideoFormatList property
- TImageEnVideoView: removed iejVIDEOCAP_TRYVIDEOFORMATS from TIEJob
- TImageEnVideoView: removed iejVIDEOCAP_NEGOTIATINGVIDEOFORMAT from TIEJob
- TImageEnIO: added support for user file formats plug-ins
- TImageEnIO: TIOFileType now is an integer value
- TImageEnIO: added ioUSER constant
- TImageEnIO: added public function IEFileFormatGetInfo
- TImageEnIO: added public function IEFileFormatGetInfo2
- TImageEnIO: added public procedure IEFileFormatAdd
- TImageEnIO: added public procedure IEFileFormatRemove
- TOpenImageEnDialog, TSaveImageEnDialog: added AutoSetFilter property
- Delphi example of user registered file format
- TWain: now ImageEn requires black/white capability
- Source code of TQRImageEn and TQRDBImageEn enclosed (in compiled only version also)

 

ImageEn 1.5 (14 Nov 1999)


- TImageEnVideoView: support capture card with IYU1, IYU2, UYVY, UYNV, cyuv, YUY2 YUNV, YVYU, Y41P, Y211, CLJR, YVU9, YV12, I420, IYUV input formats
- TImageEnVideoView: added VideoFormatList and VideoFormat properties
- TImageEnVideoView: added OnJob event
- TImageEnView: added CopyFromPolygon method
- TImageEnView: added CopyToPolygon method
- TImageEnView: added PolySelPoints property
- TImageEnView: added OnSelectionChange event
- Previews: Added portuguese language (added msPortuguese in TMsgLanguage)
- International messages: added msSystem (default) to TMsgLanguage (autodetect language)
- now FindFileFormat and FindStreamFormat return a TIOFileType value
- TImageEnIO: Removed ICO_WIDTH, ICO_HEIGHT, CUR_WIDTH and CUR_HEIGHT properties from Params (TIOParamsVals)
- TImageEnIO: added ICO_ImageIndex property in Params (TIOParamsVals)
- TImageEnIO: added CUR_ImageIndex, CUR_XHotSpot, CUR_YHotSpot properties in Params (TIOParamsVals)
- TImageEnIO, TImageEn: added LoadFromStreamICO method
- TImageEnIO, TImageEn: added LoadFromStreamCUR method
- FindFileFormat, FindStreamFormat: now detect ICO and CUR file formats
- TImageEnIO, TImageEn: added ImportMetafile method
- TImageEnIO: added ParamsFromFile,ParamsFromStream methods (Get image properties without load it)
- OpenSave dialog: display image informations when Preview checkbox is unchecked
- IOPreview: removed "copy result to source" button
- BUG: Image processing Preview - crash on "blanked" images
- TImageEnIO: Params.Width and Params.Height are read/write
- TImageEnIO.params added JPEGScale property
- TImageEnMView optimized Jpeg thumbnail load
- TImageEnMView: added ImageAtPos method
- TWain: now source dialog is a modal dialog
- TImageEnIO, TImageEnMIO, TImageEn: added TWainParams property to full scanner control without standard user interface dialog. TWainParams property contains the sub-proprerties:
- TWainParams.VisibleDialog (show/hide default twain acquire dialog)
- TWainParams.SourceCount and TWainParams.SourceName (to replace SelectAcquireSource)
- TWainParams.SelectSourceByName
- TWainParams.SelectedSource
- TWainParams.XResolution
- TWainParams.YResolution
- TWainParams.XScaling
- TWainParams.YScaling
- TWainParams.PixelType
- TWainParams.Gamma
- TWainParams.PhysicalHeight
- TWainParams.PhysicalWidth
- TWainParams.FeederEnabled
- TWainParams.Orientation
- TWainParams.ProgressIndicators
- TWainParams.AcquireFrameLeft
- TWainParams.AcquireFrameTop
- TWainParams.AcquireFrameRight
- TWainParams.AcquireFrameBottom
- TWainParams.BufferedTransfer
- TWainParams.Update
- TWain: buffered image transfer supported (for big images)
- TWain: acquiring makes OnProgress event
- TImageEnView: now AnimPolygonAddPt accepts bitmap coordinates only
- BUG: Crash when remove a TImageEnIO (or TImageEnMIO) connected by TSaveImageEnDialog
- BUG: crash loading BMP with 16 colours and odd width
- BUG: TImageEnVect: doesn't save TextAlign property
- TImageEnVect: added SetObjFrontOf and SetObjBackTo methods

 

ImageEn 1.4 (29 Sep 1999)


- bug: memory leak on TImageEnMView for ietThumb in StoreType
- bug: Gif crash when save small images
- new color quantizer median-cut (for <=256 fast-quality colors reduction)
- TImageEnProc, TImageEn: added WriteHiddenText, ReadHiddenText methods
- TImageEnProc, TImageEn: added WriteHiddenData, ReadHiddenData, GetHiddenDataSpace methods
- TImageEnProc: added ConvertToPalette
- TIOParamsVals: added SaveToFile, SaveToStream, LoadFromFile, LoadFromStream methods * remarks: now is possible to save/load input/output file format parameters * example: ImageEnIO1.Params.LoadFromFile('default.dat')
- DefGIF_LZWDECOMPFUNC, DefGIF_LZWCOMPFUNC, DefTIFF_LZWDECOMPFUNC: it dosen't need assign these variables in "initialization" section or in Project source
- TImageEnView: added methods XBmp2Scr and YBmp2Scr
- TImageEnVect: added ObjID and ObjName properties
- TImageEnVect: Added GetObjFromName and GetObjFromID methods * note: objects handles are invariable
- TImageEnVect: new ObjStyle[] property
- TImageEnVect: new IEV format (deflate - variation of LZ77 - compression for vectorial objects and images
- ConvertTo: if color number is less of 3 call ConvertToBWOrdered
- IOPreview: super-optimized inptu/output preview
- OpenSave dialogs: checkbox to disable image preview
- TImageEnVideoView: removed MDirectX unit and DirectXVersion property
- JPEG: now read/write subformats RGB, GRAYSCALE, YCbCr, CMYK and YCbCrK * TIOJPEGColorspace extended with ioJPEG_YCbCr, ioJPEG_CMYK, ioJPEG_YCbCrK
- TIFF: now read/write CMYK subformat
- TImageEnView: added SelectionBase (iesbClientArea, isbBitmap) property
- TImageEnProc: now Select receive always bitmap coordinates
- TImageEnView: Zoom variations doesn't cancel current selection
- TImageEnView: added BackgroundStyle property (to add a background pattern)
- TImageEnMView: added AppendImage method
- BUG: TImageEnView: miSelectZoom now centers selection when zoom
- TImageEnVideoView: new WndCaptureHandle property
- TImageEnVect: now AddNewObject returns the object handle
- TIFF: LZW compression (free plug-in TIFLZW) * added Params.TIFF_LZWCompFunc property * added global variable DefTIFF_LZWCOMPFUNC * added TIFLZWCompress function in TIFLZW
- TImageEnProc, TImageEn: added CanUndo property
- TImageEnIO, TImageEn: added Aborting property
- new users registration method

 

ImageEn 1.32 (11 Aug 1999)


- BUG: memory leak su IEMView
- BUG: memory leak su Open-Save dialog

 

ImageEn 1.31 (3 Aug 1999)


- BUG: fix read b/w (1 bit) PNG
- BUG: TImageEnDBView now works
- TImageEnVect: added OnMeasureHint event
- renamed twain.dcu to ietwain.dcu
- bug: fix crash when selectin is out of image bounds
- TImageEnView: added VisibleSelection property

 

ImageEn 1.3 (24 Jul 1999)


- TImageEnProc: Lens, BumpMapping: now can apply effects to a rectangular region also.
- BUG: fixed bug in TImageEnMView, when DisplayMode=mdSingle
- BUG: fixed bug in TImageEn and TImageEnView: when Assign() receive a TBitmap object
- TImageEnProc, TImageEn: added Wave method (Wave effect)
- Image processing dialog previews: added Wave effect (peWave)
- TImageEnMView: added OnDrawProgress event
- GifLZW.pas now supports standard LZW compression
- Open & SaveDialog: changed file descriptions (remove and insert the component on the form)
- SaveDialog: now adds extension to the file name when user changes file type combobox
- TImageEnView, TImageEn: added Blank method
- TImageEnDBView: now is compatible with TDbCtrlGrid
- new example to use ImageEn in a TDbCtrlGrid component

 

ImageEn 1.11 (15 Apr 1999)


- La compression LZW non ?? pi?? supportata: al suo posto ?? stata implementata per default la compression NON-LZW (RLE like). Non esistono pi?? i plug-in, ma vengono distribuiti i sorgenti delle unit GifLZW (che include la vecchia GifLZW and GIFNONLZW) and TifLZW. * help...fatto * file .bat...fatto * demos...fatto
- corretto bug scrittura NON-LZW-GIF

 

ImageEn 1.2 (2 Jun 1999)


- BUG: TImageEnVect: caricamento file IEV
- Lettura scrittura file PNG
- TImageEnIO, TImageEn: nuovi method: LoadFromFilePNG, LoadFromStreamPNG, SaveToFilePNG, SaveToStreamPNG
- TIOParamsVals: added PNG_Interlaced, PNG_Background, PNG_Filter, PNG_Compression properties
- FindFileFormat and FindStreamFormat riconoscono anche il format PNG
- TImageEnDBView: lettura/scrittura PNG
- previews msFrench
- BUG: lettura particolari PCX
- TImageEnMView: Now GridWidth:=-1 lets the component adjust GridWith on Width
- TImageEnMView: SelectionColor and SelectionWidth are published
- TImageEnMView: scroll bars page_dwn and page_up setted to ThumbHeight and ThumbWidth
- TImageEnMView: added LockPaint, UnLockPaint methods
- TImageEnMVIew: added LockPaintCount property
- TImageEnMView: added GetImageVisibility method
- TImageEnMView: added ImageCol,ImageRow properties
- TImageEnMView: added UpdateImage method
- TImageEnMView,TImageEnView: added TabOrder, TabStop properties
- TImageEnMView,TImageEnView: ScrollBars property now is TScrollStype
- TImageEnMView,TImageEnView: added OnKeyDown, OnKeyPress,OnKeyUp events
- TImageEnMView: added OnIOProgress event
- TImageEnView: added Clear method
- TImageEnView: added AutoFit property
- TImageEnMView pu?? riceve il focus
- TImageEn, TImageEnMView, TImageEnView: possono ricevere altri componenti
- TImageEnMVIew: Nuovo method SelectSeek
- TImageEnMView: nuova property KeyInteract
- TIOParamsVals: nuove property FileTypeStr and FileType
- TImageEnMView: OnImageSelect viene chiamata anche of SelectedImage and SelectSeek
- method TImageEnIO:DoPreview, TImageEn:DoIOPreview, TImageEnMIO:DoPreview: added opzione ppAuto
- TImageEnMIO: added property ParamsCount
- BUG: GIFLZW.PAS ora pu?? salvare anche immagini interlacciate
- nuovi componenti TOpenImageEnDialog(17010) and TSaveImageEnDialog(17100)
- BUG: TImageEnMView: VisibleFrame ora funziona
- BUG: TImageEnVideoView ora compila anche in B++Builder 3
- TImageEn, TImageEnProc: rinominato method Resize a ImageResize

 

ImageEn 1.0 (24 Jan 1999)


- TImageEnView, TImageEn: le dimensioni della bitmap iniziali sono state adattate alla dimensione del component.
- TImageEnView: added method AddSelPoint
- TImageEnView: added property PolySel and PolySelCount
- MouseInteract: added property miSelectPolygon and miSelectCircle
- TImageEnProc: GetReSel aggiunti parameter
- added unit "iedefs"
- TImageEnView: added property LockPaintCount
- TImageEnView: aggiunti method AnimPolygonNew(10437),AnimPolygonDel(10467), AnimPolygonAddPt(10497) and AnimPolygonClear(10527) per gestione poligoni animati.
- TImageEn,TImageEnDBView,TImageEnView: added property SelColor1(10557) and SelColor2(10587)
- TImageEn,TImageEnDBView, TImageEnView: added property DoubleBuffer
- added component TIEGradientBar
- TIFF: salvataggio compression PACKBITS (IOTIFF_PACKBITS)
- TImageEnProc: added method ClearSel
- TImageEnProc: added method CropSel
- fixed various bug
- TImageEnDBView: implementation complete of AutoDisplay
- TImageEnDBView: a design time visualizza il tipo of file nel campo
- TImageEnView, TImageEnDBView, TImageEn: added property Ctrl3D and BorderStyle
- TImageEnDBVIew: added format ifUnknown per formati sconosciuti
- TImageEnProc: added method ConvertToBWOrdered
- TImageEnProc: added method ConvertTOBWThreshold
- TResampleFilter spostato of TImageEnProc a iedefs
- Zoom of qualit?? (6 filtri)
- TImageEnView: property ZoomFilter
- TImageEnView: property DelayZoomFilter
- added funzioni public FindFileFormat and FindStreamFormat
- TImageEnDBView: added format TIFF
- TImageEnDBVIew: added ifTIFF per format TIFF
- TImageEnDbView: added StreamHeaders
- aggiungere all'help CheckAniGif, DeleteGifIm, EnumGifIm (non sono pi?? funzioni class)
- added function EnumTIFFIm
- added component VCL per gestione oggetti vettoriali TImageEnVect
- TIFF: salvataggio compression CCITT 1D (IOTIFF_CCITT1D)
- TImageEnProc: added method ConvertTo24Bit
- traduzione previews in tedesco (opzione msGerman)
- TImageEnView: AssignSelTo
- added component TImageEnVideoView per acquisizione immagini of videocamera

 

ImageEn 1.1 (26 Mar 1999)


- TImageEnProc: added method BumpMapping
- Previews: added sheet Bump mapping (peBumpMap)
- TImageEnIO, TImageEn: rinominata InsertToGif in InsertToFileGif
- Previews: added lingua spagnola (msSpanish in MsgLanguage)
- fixed alcuni bug in lettura files
- TImageEnIO: added method InsertToFileTIFF
- TIFF: added function pubblica DeleteTIFFIm
- TImageEnView: scorrimento view durante la selezione se si va fuori dall'area visibile
- TImageEnVect: scorrimento view durante l'inserimento/selezione/changed of oggetti se si va fuori dall'area visibile
- TImageEnProc: ora Resample applica filtri anche a sub-sampling
- GIF BUG: corretto error lettura search.gif (avvisare utente)
- TIFF BUG: non legge il file 1.09.27 (avvisare utente)
- TImageEnProc: added method Lens
- Preview: added effetto Lens (peLens)
- Aggiunti method of TImageEnProc and TImageEnIO a TImageEn
- TIFF: salvataggio subformati G3FAX1D, G3FAX2D and G4FAX
- Resample: ora funziona anche con immagini pf1bit
- TImageEnIO: added variabili globali DefGIF_LZWDECOMPFUNC, DefGIF_LZWCOMPFUNC, DefTIFF_LZWDECOMPFUNC (assegnarle in Initilization)
- TImageEnView eredita of TIEView
- TImageEnIO: changed AttachedImageEn of TImageEnView a TIEView
- TImageEnProc: changed AttachedImageEn of TImageEnView a TIEView
- Nuovo component TImageEnMView
- Corretto bug in TIOParamsVals.Assign
- Corretto bug paste of immagini con palette
- BMP: Corretto bug scrittura BMP con palette
- Rotate funziona anche con pf1bit
- TImageEnIO, TImageEnMIO: SelectAcquireSource ?? una function che rest. true se ?? stato premuto Select, altrimenti False (Cancel)
- corretto bug in Preview input/output
- nuovo component TImageEnMIO
- TImageEnVect: added property ObjLeft, ObjTop, ObjWidth, ObjHeight
- TImageEnVect: added method GetObjRect
- TImageEnVect: added method SetObjRect
- BUG: progress salvataggio/caricamento BMP
- TImageEnProc: nuovo method ApplyFilterPreset
- TImageEnVect: nuovo method CopyObjectsToBack
- TImageEnVect: nuovo method SetScaleFromPixels
- TImageEnVect: nuovo method SetScaleFromSelectionLen
- TImageEnVect: ScaleFactor non ?? pi?? published and ?? of tipo double