ImageEn, unit iexMetaHelpers |
|
TIOParamsHelper.ReadFrom
Declaration
function TIOParamsHelper.ReadFrom(ASource: TObject; MetaType: TIEMetaType): Boolean;
Description
Writes changes to meta-data values in a TListView or TStringGrid values back to a
params object.
Result is true if the data has changed (meaning the file has changed and should be saved.
The control must have been filled using
WriteTo.
Only iemEXIF and iemIPTC are supported. Other meta-types will raise an exception.
You can also use the in-built meta-data control,
TIEMetaListView.
Note:
◼A standard TListView does not permit editing of subitems, so either use
TIEMetaListView, download a TListView descendent, or search for code snippets for "Edit Subitems TListView"
◼MetaType cannot be iemDICOM. Use
TIEMetaListView for Dicom tag editing
◼ReadFrom is a Helper method. You must add iexMetaHelpers to your uses clause to access it
◼Delphi/C++ 2005 or newer is required
| Demos\InputOutput\Exif\Exif.dpr |
| Demos\InputOutput\Iptc\Iptc.dpr |
// Display EXIF properties into a TStringGrid and allow user to edit them
ImageEnView1.IO.Params.WriteTo( StringGrid1, iemEXIF );
StringGrid1.Options := Options + [goEditing];
...
// Write changes to EXIF properties of the current image, and prompts the user to save changes if any fields were modified
if ImageEnView1.IO.Params.ReadFrom( StringGrid1, iemEXIF ) then
PromptToSaveFile();
// Write changes to IPTC properties of the current image, and prompts the user to save changes if any fields were modified
if ImageEnView1.IO.Params.ReadFrom( ListView1, iemIPTC ) then
PromptToSaveFile();
Compatibility Notes
ReadFrom replaces the following deprecated methods:
Old Method | Old Code Example | New Code Example |
WriteGridToEXIF | StringGrid1.WriteGridToEXIF( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.ReadFrom( StringGrid1, iemEXIF ); |
WriteListToEXIF | ListView1.WriteListToEXIF( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.ReadFrom( ListView1, iemEXIF ); |
WriteGridToIPTC | StringGrid1.WriteGridToIPTC( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.ReadFrom( StringGrid1, iemIPTC ); |
WriteListToIPTC | ListView1.WriteListToIPTC( ImageEnView1.IO.Params ); | ImageEnView1.IO.Params.ReadFrom( ListView1, iemIPTC ); |
ReadListFromDicom | ListView1.ReadListFromDicom( ImageEnView1.IO.Params, [ diProprietary, diChildTags ]); | ImageEnView1.IO.Params.WriteTo( ListView1, iemDICOM, [ diProprietary, diChildTags ]); |