| ImageEn, unit iexMetaHelpers |
|
iexMetaHelper Compatibility Notes
In ImageEn v11.0.0, meta-data exporting was simplified as follows:
◼New TIEMetaListView component to instantly support the display and editing of meta-data
◼Replaced all CONTROL.Read*From*() methods with simply WriteTo
◼Replaced all CONTROL.Write*To*() methods with simply ReadFrom
◼Replaced all *CompatibleFile methods with IEFileTypeSupportsInfo()
EXIF Changes
| Old Method | Old Code Example | New Code Example |
| EXIFCompatibleFile | b := EXIFCompatibleFile( Filename ); | b := ierEXIF in IEFileTypeSupportsInfo( Filename ); |
| NewGridForEXIF | StringGrid1.NewGridForEXIF(); | Occurs automatically with ImageEnView1.IO.Params.WriteTo( StringGrid1, iemEXIF ); |
| ReadGridFromEXIF | StringGrid1.ReadGridFromEXIF( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.WriteTo( StringGrid1, iemEXIF ); |
| WriteGridToEXIF | StringGrid1.WriteGridToEXIF( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.ReadFrom( StringGrid1, iemEXIF ); |
| NewListForEXIF | ListView1.NewListForEXIF(); | Occurs automatically with ImageEnView1.IO.Params.WriteTo( ListView1, iemEXIF ); |
| ReadListFromEXIF | ListView1.ReadListFromEXIF( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.WriteTo( ListView1, iemEXIF ); |
| WriteListToEXIF | ListView1.WriteListToEXIF( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.ReadFrom( ListView1, iemEXIF ); |
| EXIF_WriteToStrings | ImageEnView1.IO.Params.EXIF_WriteToStrings( memTags.Lines ); | ImageEnView1.IO.Params.WriteTo( memTags.Lines, iemEXIF ); |
| EXIF_ApertureValue_Str | s := ImageEnView1.IO.Params.EXIF_ApertureValue_Str; | s := ImageEnView1.IO.Params.EXIF_ApertureValue2; |
| ExposureTime_Str | s := ImageEnView1.IO.Params.ExposureTime_Str; | s := ImageEnView1.IO.Params.ExposureTime2; |
| EXIF_FNumber_Str | s := ImageEnView1.IO.Params.EXIF_FNumber_Str; | s := ImageEnView1.IO.Params.EXIF_FNumber2; |
| EXIF_MaxApertureValue_Str | s := ImageEnView1.IO.Params.EXIF_MaxApertureValue_Str; | s := ImageEnView1.IO.Params.EXIF_MaxApertureValue2; |
| EXIF_ShutterSpeedValue_Str | s := ImageEnView1.IO.Params.EXIF_ShutterSpeedValue_Str; | s := ImageEnView1.IO.Params.EXIF_ShutterSpeedValue2; |
| EXIF_XResolution | s := ImageEnView1.IO.Params.EXIF_XResolution_Str; | s := ImageEnView1.IO.Params.EXIF_XResolution2; |
| EXIF_YResolution | s := ImageEnView1.IO.Params.EXIF_YResolution_Str; | s := ImageEnView1.IO.Params.EXIF_YResolution2; |
| EXIF_CanWriteEXIFData | b := ImageEnView1.IO.Params.EXIF_CanWriteEXIFData() | b := ierEXIF in ImageEnView1.IO.Params.SupportsInfo(); |
IPTC Changes
| Old Method | Old Code Example | New Code Example |
| IPTC_HasIPTCData | b := ImageEnView1.IO.Params.IPTC_HasIPTCData; | b := ierIPTC in ImageEnView1.IO.Params.ContainsInfo(); |
| IPTCCompatibleFile | b := IPTCCompatibleFile( Filename ); | b := ierIPTC in IEFileTypeSupportsInfo( Filename ); |
| NewGridForIPTC | StringGrid1.NewGridForIPTC(); | Occurs automatically with ImageEnView1.IO.Params.WriteTo( StringGrid1, iemIPTC ); |
| ReadGridFromIPTC | StringGrid1.ReadGridFromIPTC( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.WriteTo( StringGrid1, iemIPTC ); |
| WriteGridToIPTC | StringGrid1.WriteGridToIPTC( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.ReadFrom( StringGrid1, iemIPTC ); |
| NewListForIPTC | ListView1.NewListForIPTC(); | Occurs automatically with ImageEnView1.IO.Params.WriteTo( ListView1, iemIPTC ); |
| ReadListFromIPTC | ListView1.ReadListFromIPTC( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.WriteTo( ListView1, iemIPTC ); |
| WriteListToIPTC | ListView1.WriteListToIPTC( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.ReadFrom( ListView1, iemIPTC ); |
| IPTC_WriteToStrings | ImageEnView1.IO.Params.IPTC_WriteToStrings( memTags.Lines ); | ImageEnView1.IO.Params.WriteTo( memTags.Lines, iemIPTC ); |
Dicom Changes
| Old Method | Old Code Example | New Code Example |
| DicomCompatibleFile | b := DicomCompatibleFile( Filename ); | b := ierDicom in IEFileTypeSupportsInfo( Filename ); |
| DICOM_HasDicomTags | b := ImageEnView1.IO.Params.DICOM_HasDicomTags; | b := ierDicom in ImageEnView1.IO.Params.ContainsInfo(); |
| ReadGridFromDicom | StringGrid1.ReadGridFromDicom( ImageEnView1.IO.Params, [ diProprietary, diChildTags ]); | ImageEnView1.IO.Params.WriteTo( StringGrid1, iemDICOM, [], [ diProprietary, diChildTags ]); |
| ReadListFromDicom | ListView1.ReadListFromDicom( ImageEnView1.IO.Params, [ diProprietary, diChildTags ]); | ImageEnView1.IO.Params.WriteTo( ListView1, iemDICOM, [], [ diProprietary, diChildTags ]); |
| DICOM_WriteToStrings | ImageEnView1.IO.Params.DICOM_WriteToStrings( memTags.Lines, [ diProprietary, diChildTags ]); | ImageEnView1.IO.Params.WriteTo( memTags.Lines, iemDICOM, [], [ diProprietary, diChildTags ]); |
XMP Changes
| Old Method | Old Code Example | New Code Example |
| XMPCompatibleFile | b := XMPCompatibleFile( Filename ); | b := ierXMP in IEFileTypeSupportsInfo( Filename ); |
| XMP_HasXMPData | b := ImageEnView1.IO.Params.XMP_HasXMPData; | b := ierXMP in ImageEnView1.IO.Params.ContainsInfo(); |
| ReadGridFromXMP | StringGrid1.ReadGridFromXMP( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.WriteTo( StringGrid1, iemXMP ); |
| ReadListFromXMP | ListView1.ReadListFromXMP( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.WriteTo( ListView1, iemXMP ); |
| XMP_WriteToStrings | ImageEnView1.IO.Params.XMP_WriteToStrings( memTags.Lines ); | ImageEnView1.IO.Params.WriteTo( memTags.Lines, iemXMP ); |
Miscellaneous Changes
| Old Method | Old Code Example | New Code Example |
| InitializeGrid | StringGrid1.InitializeGrid(); | Occurs automatically with ImageEnView1.IO.Params.WriteTo(...); |
| ClearGridFields | StringGrid1.ClearGridFields(); | for i := 1 to StringGrid1.RowCount - 1 do StringGrid1.Cells[1, 1] := ''; |
| InitializeList | ListView1.InitializeList(); | Occurs automatically with ImageEnView1.IO.Params.WriteTo(...); |
| ClearListFields | ListView1.ClearListFields(); | for i := 1 to ListView1.RowCount - 1 do ListView1.Cells[1, 1] := ''; |
Also note that the following legacy method were removed: GetExifTagList(), ContainsExifTag(), ReplaceExifTags(). If you need to support these, define IEIncludeDeprecatedInV8Minor in
ie.inc