ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 XMP_WriteToStrings does not show XMP metadata

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
PeterPanino Posted - Apr 12 2016 : 10:34:55
Hello! In MetadataTouch (http://www.digitalconfidence.com/MetadataTouch.html), a professional Metadata editor, I have saved some XMP metadata fields in a .JPG file:



However, when trying to show these XMP metadata with ImageEn XMP_WriteToStrings, nothing is returned:

IEV.IO.Params.XMP_WriteToStrings(sl);
CodeSite.Send('XMP Data', sl);


Why not?

I have attached the file with the XMP metadata:

attach/PeterPanino/2016412104048_audio.zip
16.74 KB

ImageEnVersion is: 6.2.1

Even Exif Pilot shows the XMP tags in the attached JPG file.
9   L A T E S T    R E P L I E S    (Newest First)
xequte Posted - May 12 2016 : 00:36:13
Naturally IEV.IO.Params.XMP_HasXMPData returns true, because if you examine IEV.IO.Params.XMP_Info you will see that it contains XMP data.

Also, it works correctly if you use the internal methods for retrieval:

ImageEnView1.IO.Params.Dict.GetDictionary( 'XMP' ).GetString( sProp2 ); 


You can see this in the XMP demo:

http://www.imageen.com/ieforum/topic.asp?TOPIC_ID=1446&whichpage=3


However there is a weird issue with XMP_WriteToStrings() - some weird widestring issue, which we are investigating.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
PeterPanino Posted - May 11 2016 : 01:39:30
This function gives back False although it contains all the XMP properties depicted in the screenshot sent to you by email:

CodeSite.Send('Has any XMP Fields', IEV.IO.Params.XMP_WriteToStrings(sl));

In the ImageEn CHM manual, one of the common XMP fields is: XMP_DC_Title. (Which obviously translates to XMP Dublin Core Title). You can see from the screenshot sent to you by email that this XMP property IS defined in the JPG file sent to you by email. However it is not read when using XMP_WriteToStrings.

So we can see that the function XMP_WriteToStrings does not read the common XMP fields as described in the CHM manual.

Even the XMP_AsStr function does not output anything although these XMP properties are contained in the JPG file sent to you:

CodeSite.Send('XMP_DC_Description', IEV.IO.Params.XMP_AsStr[ XMP_DC_Description ]);
CodeSite.Send('XMP_DC_Title', IEV.IO.Params.XMP_AsStr[ XMP_DC_Title ]);

So could you please provide a sample JPG file which demonstrates that this works?

Even more strangely, IEV.IO.Params.XMP_HasXMPData gives back TRUE for this file!

I would really like to make this work.
xequte Posted - May 10 2016 : 00:38:15
Sorry, I see you are using the helper function, XMP_WriteToStrings(). Please note that it only outputs a known set of standard XMP tags.

If you want to output all tags, you need to parse the XML in IO.Params.XMP_Info.

Or via the dictionary, e.g.

memo1.Text := imgview1.IO.Params.Dict.GetDictionary( 'XMP' ).Dump( ieplJSON );


http://www.imageen.com/help/TIOParams.Dict.html

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
xequte Posted - May 03 2016 : 15:20:16
Yes, email us.

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
PeterPanino Posted - May 03 2016 : 02:39:17
Is there already a new update available for Delphi 10.1 Berlin where this bug is fixed?
xequte Posted - Apr 26 2016 : 19:00:35
Hi

This will be addresses in the next update.

Regarding the PSD, if you execute:
imageenview1.io.loadfromfile('aboutus.psd');
  ShowMessage(imageenview1.io.params.XMP_Info);
  ShowMessage(ImageEnView1.IO.Params.Dict.GetDictionary('XMP').Dump(ieplJSON) );

You see that the file actually contains XMP data and is parsed, but no useful XML tags are present...

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
xequte Posted - Apr 12 2016 : 23:33:54
Thanks, we'll let you know once we investigate.


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
PeterPanino Posted - Apr 12 2016 : 19:28:35
Here is a screenshot from Exif Pilot of a .PSD image with XMP metadata which should be recognized by ImageEn:



Here is the file (aboutus.PSD) containing these XMP metadata:

attach/PeterPanino/2016412192513_aboutus.zip
1321.57 KB
xequte Posted - Apr 12 2016 : 16:16:09
Hi Peter

I can reproduce the issue (due to the nature of the XMP implementation in this file).

We are investigating...

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com