ImageEn

File Formats


ImageEn supports over eighty image and video formats:
- Adobe PhotoShop
- Camera Raw Images
- DICOM
- GIF
- ImageEn Native Format
- JPEG
- JPEG 2000
- PCX/DCX
- PDF Files
- PNG
- PostScript
- SVG
- TIFF
- Windows Bitmap
- Windows Cursors
- Windows Icons
- Windows Metafiles
- Other Native Images
- WIC Image Formats
- Other Plug-In Formats
- AVI Videos
- Other Video Formats


Format Summary

Adobe PhotoShop *.psd, *.psb Native      
AVI Videos *.avi Native      
CALS Image *.cals, *.cal ImageMagick     
Camera Digital Negative *.dng DLL, WIC     
Canon Camera Raw *.crw, *.cr2, *.cr3 DLL, WIC     
Casio Camera Raw *.bay, *.cam DLL, WIC     
Cineon Image File *.cin ImageMagick      
DICOM *.dcm, *.dic, *.dicom, *.v2 Native      
Digital Picture Exchange Image *.dpx ImageMagick      
DirectDraw Surface *.dds WIC      
Embrid Embroidery Format *.pes ImageMagick     
Epson Camera Raw *.erf DLL, WIC     
Flexible Image Transport System *.fits, *.fts ImageMagick      
Fuji Camera Raw *.raf DLL, WIC     
GIF *.gif Native      
GIMP image *.xcf ImageMagick     
Hasselblad Camera Raw *.3fr, *.fff DLL, WIC     
High Dynamic Range File *.exr ImageMagick      
High Efficiency Image File *.heic, *.heif, *.heics, *.avcs, *.heifs, *.avif, *.avifs WIC     
High Efficiency Image Format *.heic, *.heif, *.avif ImageMagick     
Image Properties JSON File *.json ImageMagick     
ImageEn Native Format *.ien, *.imageen, *.lyr Native      
ImageMagick SVG Renderer *.msvg, *.rsvg ImageMagick      
JPEG 2000 *.j2k, *.jpc, *.j2c, *.jp2 Native, DLL      
JPEG Network Graphics *.jng ImageMagick      
JPEG XL Image *.jxl ImageMagick      
JPEG *.jpg, *.jpeg, *.jpe, *.jif, *.jfif Native, DLL, WIC      
Kodak Camera Raw *.dcr, *.dc2, *.dcs, *.kdc, *.k25 DLL, WIC     
Leaf Camera Raw *.mos DLL, WIC     
Leica Camera Raw *.raw, *.rwl DLL, WIC     
Logitech Camera Raw *.pxn DLL, WIC     
Magick Image File Format *.miff ImageMagick      
Mamiya Camera Raw *.mef DLL, WIC     
MATLAB Level 5 Image Format *.mat ImageMagick      
Microsoft HD Photo *.wdp, *.jxr, *.hdp WIC      
Microsoft XML Paper Specification *.xps ImageMagick      
Minolta Camera Raw *.mrw, *.mdc DLL, WIC     
MPEG video *.mpe, *.mpg, *.mpeg DirectShow, MMF     
MPEG-4 Video *.mp4, *.m4v ImageMagick      
Multiple-Image Network Graphics *.mng ImageMagick     
Nikon Camera Raw *.nef, *.nrw DLL, WIC     
Olympus Camera Raw *.orf DLL, WIC     
Other Camera Raw Formats *.rdc, *.iiq DLL, WIC     
Panasonic Camera Raw *.rw2 DLL, WIC     
PCX/DCX *.pcx, *.dcx Native      
PDF Files *.pdf, *.pdfa, *.epdf Native     
PDF Files *.pdf, *.pdfa, *.epdf PDFium     
Pentax Camera Raw *.pef, *.ptx DLL, WIC     
Photo CD Image *.pcd, *.pcds ImageMagick      
PNG *.png Native, DLL, WIC      
Portable Pixmap *.pxm, *.pbm, *.pgm, *.ppm Native      
PostScript *.ps, *.eps, *.epsf, *.epsi, *.epi, *.ept ImageMagick      
PostScript *.ps, *.eps Native     
Printer Control Language *.pcl ImageMagick      
QuickDraw PICT Image *.pict, *.pct ImageMagick      
RGB Image *.rgb, *.sgi ImageMagick     
Samsung Camera Raw *.srw DLL, WIC     
Seattle FilmWorks Image *.sfw ImageMagick     
Sigma Camera Raw *.x3f DLL, WIC     
Sinarback Camera Raw *.cs1 DLL, WIC     
Sony Camera Raw *.srf, *.sr2, *.arw DLL, WIC     
SVG *.svg Native     
SVG *.svg, *.svgz ImageMagick     
Targa Image *.tga, *.targa, *.vda, *.icb, *.vst Native      
TIFF *.tif, *.tiff, *.fax, *.g3f, *.g3n Native      
TrueType Font *.ttf, *.otf, *.pfa, *.pfb, *.ttc, *.dfont ImageMagick     
WebP image *.webp ImageMagick      
WebP *.webp WIC     
Windows Bitmap *.bmp, *.dib, *.rle Native      
Windows Cursors *.cur Native      
Windows Icons *.ico Native      
Windows Metafiles *.emf, *.wmf Native     
Wireless Bitmap *.wbmp Native      
WMV video *.wmv DirectShow, MMF     
X11 Graphic *.xbm, *.xpm ImageMagick     


Photoshop Format

PSD is the native image format of Adobe Photoshop. It supports layers.

Extensions *.psd, *.psb
Color Formats Full Color
Multiple Frames No
Transparency Supported
Layer Support May contain multiple image and object layers
Meta-Data EXIF Fields, XMP Info

Notes
- ImageEn can load PSD files as a single image or as multiple layers (if PSD_LoadLayers is enabled)
- Some custom PSD layer formats may not be supported
- If you save to PSD from a TImageEnView containing multiple layers the created PSD file will have layers. To avoid this, merge the image before saving.

Demo
Demos\LayerEditing\Layers_AllTypes\Layers.dpr



Camera Raw Formats

ImageEn supports a wide variety of the native image formats of cameras, from Canon (*.cr2, *.cr3, *.crw), Kodak (*.dcr, *.kdc), Minolta (*.mrw), Nikon (*.nef), Olympus (*.orf), Pentax (*.pef), Fuji (*.raf), Leica (*.raw), Sony (*.srf, *.sr2, *.arw) and Sigma (*.x3f). RAW formats are full color images.

Extensions *.crw, *.cr2, *.cr3, *.dng, *.nef, *.raw, *.raf, *.x3f, *.orf, *.srf, *.mrw, *.dcr, *.bay, *.pef, *.sr2, *.arw, *.kdc, *.mef, *.3fr, *.k25, *.erf, *.cam, *.cs1, *.dc2, *.dcs, *.fff, *.mdc, *.mos, *.nrw, *.ptx, *.pxn, *.rdc, *.rw2, *.rwl, *.iiq, *.srw
Color Formats Full Color
Multiple Frames No
Transparency No
Layer Support No
Meta-Data EXIF Camera Fields

Notes
- Two imaging engines are available: DLL (based on LibRaw) and WIC
- You can speed up loading by retrieving a half size, embedded JPEG or thumbnail image
- RAW images generally needs to have their colors adjusted for display using options such as RAW_UseAutoWB, RAW_UseCameraWB and other parameters
- RAW images can be automatically rotated for display if relevant meta-data is available
- Saving is NOT supported

Demo
\Demos\InputOutput\CameraRaw\CameraRaw.dpr



Dicom Format

DICOM is a widely used image format in the medical community. It offers both lossy and lossless saving and supports many compression types and color formats.

Extensions *.dcm, *.dic, *.dicom, *.v2
Color Formats Most color formats
Multiple Frames May contain zero, one or multiple images. Can be animated
Transparency No
Layer Support No
Meta-Data DICOM Tags

Notes
- Specify which frame to load using ImageIndex (between 0 and ImageCount-1), use a TImageEnMView to load and display all frames or enable Playing to animate the image
- There are many compression and other parameters that affect saving
- To update DICOM Tags without resaving the image use InjectDicomTags

Demo
\Demos\InputOutput\Dicom\Dicom.dpr



GIF Format

GIF is a popular web format. It is lossless (no image information lost on saving), but is limited to 256 colors. GIF files are often animated.

Extensions *.gif
Color Formats Supports a maximum of 256 colors
Multiple Frames Can have multiple frames and be animated
Transparency Supported by use of a Transparent Key color
Layer Support No
Meta-Data GIF_Comments

Notes
- Specify which frame to load using ImageIndex (between 0 and ImageCount-1), use a TImageEnMView to load and display all frames
- Enable Playing in TImageEnView or TImageEnMView to animate the image
- There are few parameters that affect saving
- Enable GIF_FlagTranspColor and specify the key color to save a transparent GIF
- To manipulate multiframe GIFs in memory, use a TIEMultiBitmap or global methods

Demo
\Demos\ImageEditing\AnimatedGIF\GifDemo.dpr



ImageEn Format

IEN is a propietary image format of ImageEn. It is a compressed format with support for transparency, vectors, annotations and layers (images, text, shapes and lines).

Extensions *.ien, *.imageen, *.lyr
Color Formats All color formats
Multiple Frames No
Transparency Supported
Layer Support Yes
Meta-Data ImageEn Description

Notes
- You can speed up loading by retrieving a thumbnail
- If you save to IEN from a TImageEnView containing multiple layers the created file will have layers
- To save layers as annotations only (i.e. not including the background image), disable IEN_StoreBackground
- Specify the compression and size of the thumbnail

Demo
Demos\LayerEditing\Layers_AllTypes\Layers.dpr



JPEG Format

JPEG is one of the most widely used image formats. It is lossy (discards some image information when saving) and offers good quality for a very small file size. It works best with photos.

Extensions *.jpg, *.jpeg, *.jpe, *.jif, *.jfif
Color Formats Generally full color (though gray-scale is also supported)
Multiple Frames No
Transparency No
Layer Support No
Meta-Data EXIF Camera Fields, IPTC Fields, XMP Info, JPEG Markers, ImageEn Annotations

Notes
- Three imaging engines are available: Native, DLL and WIC
- You can speed up loading by retrieving a scaled image or thumbnail
- Other parameters can be set to optimize I/O
- JPEG can be automatically rotated for display if relevant meta-data is available
- Specify the quality when saving to optimize image quality vs file size
- Quality is lost each time an image is saved as JPEG (lossy), but there are global methods to rotate, flip and crop images without quality loss (lossless)
- To update EXIF without resaving the image use InjectJpegEXIF
- To update IPTC without resaving the image use InjectJpegIPTC



JPEG 2000 Format

JPEG 2000 was created as a modern replacement for the JPEG format, but despite its many advantages it has not seen wide adoption. It offers both lossy and lossless saving and supports many compression types and color formats.

Extensions *.j2k, *.jpc, *.j2c, *.jp2
Color Formats Most color formats
Multiple Frames No
Transparency Supported when saving for ioJ2000_RGB. Unsupported for loading
Layer Support No
Meta-Data None

Notes
- Two imaging engines are available: Native and DLL
- You can speed up loading by retrieving a scaled image
- Specify the quality or rate to optimize image quality vs file size. Images can be saved losslessly (without quality loss) by setting rate to 1
- Other parameters can be set to optimize I/O when saving



PCX/DCX Format

PCX is a legacy image format that is now seldom used. DCX is a multi-page variant of PCX.

Extensions *.pcx, *.dcx
Color Formats Most color formats
Multiple Frames DCX files contain multiple frames
Transparency No
Layer Support No
Meta-Data None

Notes
- Specify which frame to load using ImageIndex (between 0 and ImageCount-1) or use a TImageEnMView to load and display all frames of a DCX files
- Specify the compression when saving



PDF Files

Adobe PDF files are documents that are widely used in business.

Extensions *.pdf, *.pdfa, *.epdf
Color Formats Full Color
Multiple Frames Yes
Transparency No
Layer Support No
Meta-Data PDF Document Information

Format Difficulties
ImageEn supports PDF files in four different ways, which are not necessily compatible:

PDFium
If you have installed the PDFium plug-in and enabled PdfViewer mode, then via TImageEnView (or directly using a TIEPdfViewerInteraction object) you can display and manipulate PDF files, including text searching and selection, form editing, and page importing, moving and deletion.
In this mode, LoadFromFilePDF and SaveToFilePDF will interact directly with the PdfViewer to load and save multipage PDF files.

PDF Loading
If you have installed a relevant plug-in (and NOT enabled PdfViewer mode), then ImageEn can import a rasterized bitmap of each page into a TImageEnView or rasterized version of a whole document into a TImageEnMView. You should not save the document to PDF if it was loaded in this way because it will be converted to an image-only PDF (e.g. text content cannot be selected or searched).

PDF Saving
Natively, ImageEn can save images to a PDF file. Also, if you have multiple layers the saved PDF file will be scalable and text will be selectable and searchable.

OCR Method
The IEVision Add-On also includes a method to convert text images to Searchable PDF files

Notes
- To load PDF files you must install a plug-in
- Specify which page to load using ImageIndex (between 0 and ImageCount-1) or use a TImageEnMView to load and display all pages
- Pages can be loaded to a specific size using LoadFromFilePDF or by specifying auto-scaling properties
- Specify the compression and other parameters when saving
- The TIEPDFBuilder class can be used for more control over PDF generation

Demos
\Demos\InputOutput\PDFBuilder\PDFBuilder.dpr
\Demos\InputOutput\PDFBuilder2\PDFBuilder2.dpr
\Demos\Other\PdfViewer\PdfViewer.dpr
\Demos\Other\PdfViewerToolbar\PdfViewerToolbar.dpr
\Demos\Actions\Actions_PdfViewer\PdfViewerActions.dpr



PNG Format

PNG is a widely used image format. It is lossless (no image information lost on saving) and supports all color formats and transparency. It is one of the best formats to use when saving images for editing.

Extensions *.png
Color Formats All color formats
Multiple Frames No
Transparency Supported
Layer Support No
Meta-Data PNG Text fields

Notes
- Three imaging engines are available: Native, DLL and WIC
- When saving set the compression to reduce file size (it will not lower the quality of the image but will slow processing)



PostScript Files

Adobe PostScript (*.ps, *.eps) is an electronic publishing format.

Extensions *.ps, *.eps
Color Formats Full Color
Multiple Frames Yes
Transparency No
Layer Support No
Meta-Data PostScript Title

Notes
- ImageEn cannot natively load PS files. If you have installed a relevant plug-in ImageEn can import a rasterized bitmap of each page
- Specify which page to load using ImageIndex (between 0 and ImageCount-1) or use a TImageEnMView to load and display all pages
- ImageEn can export images to a PS file
- Specify the compression and other parameters when saving



SVG Format

SVG (Scalable Vector Graphics) is a vector format supported by web browsers. SVG images can be scaled without losing quality.

Extensions *.svg
Color Formats Most color formats
Multiple Frames No
Transparency Supported (when saving)
Layer Support Can contain multiple image, text and shape layers layers
Meta-Data None

Format Difficulties
ImageEn supports SVG files in two different ways, which are not compatible:

SVG Loading
If you have installed the ImageMagick Plug-In, SVG can be imported as a rasterized bitmap

SVG Saving
Natively, ImageEn can export multiple layers from TImageEnView as a scalable SVG file

Notes
- ImageEn does NOT support native loading of SVG. It requires a plug-in
- Specify the compression for saving of image layers

Demos
\Demos\LayerEditing\Layers_AllTypes\Layers.dpr
\Demos\InputOutput\ImageMagick\ImageMagick.dpr
\Demos\LayerEditing\SVGVectorLayers\SVGLayers.dpr



TIFF Format

TIFF is a popular document format. It is lossless (no image information lost on saving) and has many sub-formats (e.g. types of compression). It is often used with monochrome documents, such as Fax images.

Extensions *.tif, *.tiff, *.fax, *.g3f, *.g3n
Color Formats Most color formats, but most often used with monochrome documents
Multiple Frames Can have one or multiple frames
Transparency Generally NOT supported
Layer Support No
Meta-Data EXIF Fields, IPTC Fields, XMP Info, TIFF Name and Description, ImageEn Annotations, Wang Annotations

Notes
- Specify which frame to load using ImageIndex (between 0 and ImageCount-1) or use a TImageEnMView to load and display all frames
- TIFF supports various compression and other options when saving
- To manipulate multiframe TIFFs in memory, use a TIEMultiBitmap, TIETIFFHandler object or global methods
- To update EXIF without resaving the image use InjectTIFFEXIF

Demos
\Demos\Multi\MultiBitmap\MBitmap.dpr
\Demos\Multi\Multiview\Multi.dpr



Windows Bitmaps

BMP is a native Windows image format. It is lossless (no image information lost on saving), but offers only limited compression (very large files).

Extensions *.bmp, *.dib, *.rle
Color Formats Most color formats
Multiple Frames No
Transparency Supported if 32bit and BMP_HandleTransparency is enabled. You may need to sync the alpha channel to access it
Layer Support No
Meta-Data None

Notes
- Due to the lack of compression, loading and saving of BMP is very fast (good for temporary files)



Windows Cursors

Cursor files are used by Windows to store mouse pointers of varying sizes and resolutions.

Extensions *.cur
Color Formats Most color formats
Multiple Frames Can contain multiple images
Transparency Supported if you specify the background color
Layer Support No
Meta-Data None

Notes
- Specify which image to load using ImageIndex (between 0 and ImageCount-1) or use a TImageEnMView to load and display all images
- When saving, specify the "hot spot" of the cursor



Windows Icons

Icon files are used by Windows to store images of varying sizes and resolutions for applications and documents.

Extensions *.ico
Color Formats Most color formats
Multiple Frames May contain multiple images of different sizes and resolutions
Transparency Yes
Layer Support No
Meta-Data None

Notes
- Specify which image to load using ImageIndex (between 0 and ImageCount-1) or use a TImageEnMView to load and display all images
- When saving, ImageEn can automatically generate icons of different sizes and resolutions from a single image
- Specify the compression and other parameters

Demo
\Demos\ImageEditing\IconEditor\IconEditor.dpr



Meta Files

Metafiles are Windows vector images that are commonly used for clip-art. They can be scaled when loading without loss of quality.

Extensions *.emf, *.wmf
Color Formats Most color formats
Multiple Frames No
Transparency Supported (if EMFBackgroundColor = clNone)
Layer Support No
Meta-Data None

Notes
- You can also specify a default background color
- Meta-files can be loaded to a specific size using ImportMetafile or by specifying auto-scaling properties
- You can also specify a maximum loading size
- Saving is NOT supported

Demo
\Demos\LayerEditing\SVGVectorLayers\SVGLayers.dpr



Other Native Formats

ImageEn provides native support for some other formats: Targa (*.tga), PXM and Wireless BMP (*.wbmp). It also provides BmpRaw, a true "raw" bitmap format.

Extensions *.pxm, *.pbm, *.pgm, *.ppm, *.tga, *.targa, *.vda, *.icb, *.vst, *.win, *.wbmp
Color Formats Full color
Multiple Frames No
Transparency No
Layer Support No
Meta-Data PXM Comments, TGA Fields

Notes
- Loading and saving is supported for all formats
- TGA supports compression
- Specify parameters when saving BmpRaw

Demo
\Demos\InputOutput\RealRAW\RealRAW.dpr



WIC Formats

WIC (Windows Imaging Component) is a Windows API that provides access to fast Windows methods for loading and saving images.
WIC is used by ImageEn to support HDP, DDS, HEIF/HEIC, AVIF and WebP. It can optionally be used to load other formats such as JPEG, PNG, GIF, etc.
To support some WIC formats (such as HEIF, AVIF and WebP) you will need to install a codec from the Microsoft Store

Extensions *.dds,*.wdp, *.jxr, *.hdp, *.heic, *.heif, *.heics, *.avcs, *.heifs, *.avif, *.avifs, *.webp
Color Formats Full color
Multiple Frames Some WIC formats, such as DDS and HEIF, can contain multiple images
Transparency Supported by most WIC formats (HDP, HEIF, etc.)
Layer Support No
Meta-Data WIC Codec Info, EXIF Camera Fields (Some formats)

Notes
- For multi-frame images, specify which image to load using ImageIndex (between 0 and ImageCount-1) or use a TImageEnMView to load and display all images
- WIC can optionally be used for loading JPEG, PNG, JPEG 2000 and Camera Raw images
- Saving is supported for DDS and HDP. Saving is NOT supported for HEIF, AVIF and WebP. Other formats will depend on the codec
- Specify the quality when saving HDP (optionally making it lossless)
- You can optionally use the TIEWICReader and TIEWICWriter classes directly



Other Plug-In Formats

ImageEn supports many other image formats via external plug-ins:
Adobe PDF (*.pdf, *.epdf), PostScript (*.ps, *.eps), Scalable Vector Graphics (*.svg, *.svgz), High Efficiency Image Format (*.heic, *.heif, *.avif), WebP image (*.webp), JPEG XL Image (*.jxl), GIMP (*.xcf), TrueType Fonts (*.ttf, *.otf), Kodak Photo-CD (*.pcd, *.pcds), Apple Pict (*.pict), CALS Image (*.cals, *.cal), Flexible Image Transport System (*.fits), HP PCL Printer Image (*.pcl), Kodak Cineon (*.cin), Embrid Embroidery Format (*.pes), SMPTE (*.dpx), Magick (*.miff, *.mvg), Matlab (*.mat), JPEG Network Graphics (*.jng), Multiple-Image Network Graphics (*.mng), High Dynamic Range File (*.exr), Microsoft XML Page (*.xps), MPEG (*.mp4, *.mpeg, *.mpg*.mov; *.m2v; *.m4v)

Notes
- Loading is supported for all formats
- You can load images at a specific size using the auto-scaling properties (works best with vector formats, such as SVG)
- Saving is NOT supported for these formats: *.heic, *.heif, *.avif, *.ttf, *.otf, *.pfa, *.pfb, *.ttc, *.dfont, *.pes, *.cals, *.cal, *.xcf

Demos
\Demos\InputOutput\ImageMagick\ImageMagick.dpr
\Demos\LayerEditing\SVGVectorLayers\SVGLayers.dpr



AVI Videos

AVI is a Windows video file format.

Extensions *.avi
Color Formats Full color
Multiple Frames Contain multiple frames and always animated
Transparency No
Layer Support No
Meta-Data None

Notes
- Use a TImageEnMView to load and display all video frames, or load specific frames into a TImageEnView
- Enable Playing in TImageEnView or TImageEnMView to animate the video frames (without audio)
- Use DirectShow for native Windows playback and capture
- ImageEn can save silent AVI files or capture using DirectShow
- Specify the frame interval to control playback speed

Demo
\Demos\Multi\Multiview\Multi.dpr
\Demos\VideoCapture\ImagesToAvi\ImagesToAvi.dpr
\Demos\Display\VideoPlayer\VideoPlayer.dpr



Other Video Formats

ImageEn supports other video formats (MPEG, WMV, etc) via the DirectShow or MMF APIs

Extensions *.mpe, *.mpg, *.mpeg, *.wmv
Color Formats Full color
Multiple Frames Contain multiple frames and always animated
Transparency No
Layer Support No
Meta-Data No

Notes
- Use a TImageEnMView to load and display all video frames, or load specific frames into a TImageEnView
- Use DirectShow for native Windows playback and capture
- ImageEn can capture using DirectShow
- Specify the frame interval to control playback speed

Demo
\Demos\Display\VideoPlayer\VideoPlayer.dpr



See Also

- TIOFileType
- FileFormats
- RegisterPlugIns