ImageEn, unit iesettings

TIEGlobalSettings.PNGEngine

TIEGlobalSettings.PNGEngine


Declaration

property PNGEngine: TIEImagingEngine;


Description

Specifies which engine is used to load and save PNG format images.
Property Description 32bit Requirement 64bit Requirement
ieenAuto Automatically chooses ieenDLL if a DLL is found in the EXE folder, otherwise ieenNative (32bit) or ieenWIC (64bit) - -
ieenNative Uses native loading code (32bit only) ieNativePNG in uses N/A
ieenDLL Uses an ImageEn DLL to support the file format. This option gives the best performance and functionality, including Apple CgBI format and better support for PNG text fields ielib32.dll or ievision.dll ielib64.dll or ievision64.dll
ieenWIC Uses the WIC API (Windows Imaging Component). Some meta-data is not supported. You cannot save to the following pixel formats: ie8p, ie32f, ieCIELab Always Supported Always Supported
ieenNone Format is unavailable - -


Note:
ieenDLL requires you to ship the IELib or IEVision DLL with your application
ieenNative requires you to add ieNativePNG to your uses clause (only supported for 32bit applications)
To remove native support for PNG from your project, ensure that none of the following units exist in your uses clauses: ieNativePNG, iexUtils, iexDefs
With ieenAuto, only the EXE folder is searched for relevant DLLs. For ieenDLL, the system path is also checked (or specify a path by calling RegisterPlugins)
ieenWIC is not recommended when loading PNG images from offset positions in streams
You can get the active engine using ActivePNGEngine, and the status of all imaging engines using ImageEnVersion.Status

Default: ieenAuto (which uses ieenDLL if a DLL is available, otherwise ieenNative in 32bit apps or ieenWIC in 64bit apps)


Engine Performance




Demos

Demo  Demos\InputOutput\ImagingEngines\ImagingEngines.dpr
Demo  Demos\InputOutput\IEViewPerformance\Performance.dpr


Example

// Use WIC to load PNG images
IEGlobalSettings().PNGEngine := ieenWIC;

// Use native code to load PNG images even if DLL is available
// Ensure you have added ieNativePNG to the uses clause of one of your project units!
IEGlobalSettings().PNGEngine := ieenNative;

// Force use of IELib DLL for improved performance
// ImageEn will attempt to load the DLL even if it's not in the EXE folder. If the DLL is not found or is outdated, an error will be raised
IEGlobalSettings().JPEGEngine      := ieenDLL;
IEGlobalSettings().PNGEngine       := ieenDLL;
IEGlobalSettings().JPEG2000Engine  := ieenDLL;
IEGlobalSettings().CameraRawEngine := ieenDLL;


See Also

ActivePNGEngine
ImageEnVersion.IELibVersionStr