ImageEn, unit iexMetaHelpers



TIEMetaListView = class(TCustomListView);


TIEMetaListView is a TListView which displays meta-data of images and other files. Editing is also supported for EXIF, IPTC and DICOM tags.

There are two ways to display meta-data with TIEMetaListView:
 Attach it to a TImageEnView to show content for the displayed image
 Assign it from a TIEBitmap, image file or stream

The following meta-data types are supported:
Value Description Allows Editing
iemGeneral General file properties including: Filename, folder, file size and date. Image properties including: Image type, dimensions, color depth and resolution (See General Tag Constants)   
iemEXIF EXIF meta-data of JPEG, TIFF, PNG, PSD and Camera Raw images (See Constants for EXIF Properties)   
iemIPTC IPTC meta-data of JPEG, TIFF and PSD images (See PhotoShop IPTC Constants)   
iemDicom Medical tags of DICOM files (See Dicom Tags Supported by ImageEn)   
iemXMP XMP data of JPEG, TIFF, PNG and PSD images (See Constants for Common XMP Fields)   
iemPDF Properties of PDF documents (See Constants for PDF Properties)   

Meta data support by file type:
File Type General EXIF IPTC XMP DICOM PDF Info
Adobe PhotoShop                  
Camera Raw Images                  
PDF Files                  
Other Formats                  

Note: TIEMetaListView requires Delphi 2005 or newer

Keyboard Shortcuts

Supported shortcuts are as follows:
Description Shortcut Note
Copy to Clipboard Ctrl+C Disable by removing iemoKeyboard from Options
Edit the current field F2 Disable by removing iemoKeyboard from Options
Save editing Return -
Cancel editing Esc -
Edit previous field Up Automatically saves changes if Options includes iemoEasySave
Edit next field Down/Tab Automatically saves changes if Options includes iemoEasySave


Localized group heading are supported as well as all field names for iemGeneral. Field names for other meta types are not localized.


Demo  \Demos\Other\MetaListView\MetaListView.dpr
Demo  Demos\InputOutput\DicomTags\DicomTags.dpr
Demo  \Demos\Other\PDFViewer\PdfViewer.dpr


// Show meta-data fields of all types for the image in a TImageEnView (even for formats that don't support it)
IEMetaList1.AttachedImageEn := ImageEnView1;
IEMetaListView1.AlwaysShowTypes := [iemGeneral, iemEXIF, iemIPTC, iemDicom, iemXMP, iemPDF];

// Output all Exif tags of an image
IEMetaListView1.ExifTags := [ efCommon, efCamera, efExtra, efWindows, efAdvanced];
IEMetaListView1.AlwaysShowTypes  := [ iemExif ];
ImageEnView1.IO.LoadFromFile( 'C:\image.jpg' );
IEMetaListView1.Assign( ImageEnView1 );

// Output all Dicom tags of an image
IEMetaListView1.DicomTags := [ diStandard, diChildTags, diProprietary, diDeprecated, diUnknown ];
IEMetaListView1.AlwaysShowTypes  := [ iemDicom ];
ImageEnView1.IO.LoadFromFile( 'C:\image.dicom' );
IEMetaListView1.Assign( ImageEnView1 );

// Export the Dicom tags of the current image to a file (exclude deprecated and unknown tags)
IEMetaListView1.DicomTags := [ diStandard, diChildTags, diProprietary ];
IEMetaListView1.AlwaysShowTypes  := [ iemDicom ];
IEMetaListView1.Assign( ImageEnView1 );
IEMetaListView1.AssignTo( 'D:\DicomList.txt' );

// Show only document properties for the current PDF
ImageEnView1.PdfViewer.Enabled := True;
ImageEnView1.IO.LoadFromFile( 'D:\Testing_Multimedia\PDF\TEST Adobe.pdf' );
IEMetaListView1.GroupView := False;
IEMetaListView1.AutoShowTypes   := [];
IEMetaListView1.AlwaysShowTypes := [ iemPDF ];
IEMetaListView1.AttachedImageEn := ImageEnView1;

// Enable editing of EXIF, ITPC and Dicom data
IEMetaList1.AttachedImageEn := ImageEnView1;
IEMetaListView1.EditableTypes := [iemEXIF, iemIPTC, iemDicom];

// Show params for the image in a TImageEnView (alternative to attaching it)
IEMetaListView1.Assign( ImageEnView1 );

// Show params for the selected image in a TImageEnMView
IEMetaListView1.Assign( ImageEnMView1 );

// Show params for an image file
IEMetaListView1.Assign( 'C:\Image.jpeg' );

// Copy the selected meta-data fields to the clipboard

// Save content to a CSV file
IEMetaListView1.AssignTo( 'D:\ImageInfo.csv' );

Methods and Properties

Published Property  AlwaysShowTypes
Public Method  Assign
Public Method  AssignTo
Published Property  AttachedImageEn
Published Property  AutoShowTypes
Public Method  ClearValues
Public Method  CollapseAllGroups
Public Method  CopyToClipboard
Published Property  DicomTags
Published Property  EditableTypes
Published Property  ExifTags
Public Method  ExpandAllGroups
Published Property  GroupView
Public Method  HideEditor
Public Property  ItemInfo
Public Property  ItemValue
Public Property  Modified
Published Property  Options
Public Method  ShowEditor
Public Method  SaveMetaToFile (Update meta-data in file)
Published Property  TitleDicom
Published Property  TitleExif
Published Property  TitleGeneral
Published Property  TitleIptc
Published Property  TitlePdf
Published Property  TitleXmp
Public Method  Update


Event  OnAddMetaData
Event  OnAfterEditMetaData
Event  OnGetHeadingText
Event  OnEditMetaData
Event  OnSaveMetaData