Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
XMP Array Property - Bag, Seq, or AltHow to insert or update an XMP array property (bag, seq, or alt). uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATXMLLib_TLB, CHILKATXMPLib_TLB, CHILKATUTILLib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var xmp: TChilkatXmp; success: Integer; xml: CHILKATXMLLib_TLB.IChilkatXml; sa: CHILKATUTILLib_TLB.ICkStringArray; begin xmp := TChilkatXmp.Create(Self); success := xmp.UnlockComponent('Anything for 30-day trial.'); if (success <> 1) then begin ShowMessage(xmp.LastErrorText); Exit; end; // Load a JPG or TIF image file. // Sample JPG's with XMP metadata may be found at: // http://www.chilkatsoft.com/testData/xmp/sample1.jpg // http://www.chilkatsoft.com/testData/xmp/sample2.jpg // http://www.chilkatsoft.com/testData/xmp/sample3.jpg success := xmp.LoadAppFile('sample1.jpg'); if (success <> 1) then begin ShowMessage(xmp.LastErrorText); Exit; end; Memo1.Lines.Add('Num embedded XMP docs: ' + IntToStr(xmp.NumEmbedded)); // Assuming there is at least one, get the 1st. // (There is typically never more than one, but theoretically it's possible.) xml := xmp.GetEmbedded(0); if (not (xml = nil )) then begin // Create an object to hold one or more string values. sa := TCkStringArray.Create(Self).ControlInterface; sa.Append('value_1'); sa.Append('value_2'); // ... success := xmp.AddArray(xml,'bag','Iptc4xmpCore:Chilkat',sa); if (success <> 1) then begin ShowMessage(xmp.LastErrorText); end else begin // Save the JPG. xmp.SaveAppFileERROR-2 ('modified.jpg'); end; end else begin ShowMessage(xmp.LastErrorText); end; end; |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.