ImageEn, unit iexBitmaps

TIOParams.ContainsInfo

TIOParams.ContainsInfo


Declaration

function ContainsInfo(): TIEMetaInfoItems;


Description

Returns the types of meta-data within the current image.
You can use ResetInfo to clear meta-data from your file.
Also see SupportsInfo which describes what meta-data types are supported for the current file type.

Result will be a set containing zero or more of the following items:
Value Description Supported File Types
ierAnnotations File contains ImageEnAnnot or ImagingAnnot ioJPEG, ioTIFF
ierDicomTags File contains DICOM_Tags ioDICOM
ierEXIF File contains EXIF Tags ioJPEG, ioTIFF, ioPNG, ioPSD, ioHDP, ioRAW
ierICC File contains an InputICCProfile ioJPEG, ioTIFF, ioPNG, ioPSD
ierIPTC File contains IPTC_Info ioJPEG, ioTIFF
ierJPEGMarkers File contains JPEG Markers ioJPEG
ierXMP File contains XMP_Info ioJPEG, ioTIFF, ioPNG, ioPSD
ierOtherTextMeta File contains string data from the following fields: GIF_Comments, PNG_TextKeys, PNG_TextValues, PNG_Chunks, TIFF_DocumentName, TIFF_ImageDescription, TIFF_PageName, IEN_Description, PDF Properties, TGA_Author, TGA_Descriptor, TGA_ImageName, PXM_Comments ioGIF, ioPNG, ioTIFF, ioTGA, ioPXM

Demo  Demos\Other\MetaListView\MetaListView.dpr


Examples

if ierDicomTags in ImageEnView1.IO.Params.ContainsInfo() then
  ShowMessage('File contains Dicom Tags');

if ierICC in ImageEnView1.IO.Params.ContainsInfo() then
  ShowMessage( 'ICC Profile: ' + ImageEnView1.IO.Params.InputICCProfile.InputColorSpace )
else
  ShowMessage('ICC Profile: None');

// Return true if image contains a TIEMetaListView meta data type
function ContainsMetaData(IOParams: TIOParams; MetaType: TIEMetaType): Boolean;
begin
  Result := False;

  case MetaType of

    iemGeneral : Result := IOParams.FileType <> ioUnknown;  // All images contain meta-info

    iemEXIF    : Result := ierEXIF in IOParams.ContainsInfo();

    iemIPTC    : Result := ierIPTC in IOParams.ContainsInfo();

    iemDicom   : Result := ierDicomTags in IOParams.ContainsInfo();

    iemXMP     : Result := ierXMP in IOParams.ContainsInfo();

    iemPDF     : Result := ( IOParams.FileType = ioPDF ) and ( ierOtherTextMeta in IOParams.ContainsInfo() );  // ierOtherTextMeta = PDF

  end;
end;