Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) XMP Array Property - Bag, Seq, or AltHow to insert or update an XMP array property (bag, seq, or alt).
IncludeFile "CkXml.pb" IncludeFile "CkXmp.pb" IncludeFile "CkStringArray.pb" Procedure ChilkatExample() ; This requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. xmp.i = CkXmp::ckCreate() If xmp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; 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.i = CkXmp::ckLoadAppFile(xmp,"sample1.jpg") If success <> 1 Debug CkXmp::ckLastErrorText(xmp) CkXmp::ckDispose(xmp) ProcedureReturn EndIf Debug "Num embedded XMP docs: " + Str(CkXmp::ckNumEmbedded(xmp)) ; Assuming there is at least one, get the 1st. ; (There is typically never more than one, but theoretically it's possible.) xml.i xml = CkXmp::ckGetEmbedded(xmp,0) If CkXmp::ckLastMethodSuccess(xmp) = 1 ; Create an object to hold one or more string values. sa.i = CkStringArray::ckCreate() If sa.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkStringArray::ckAppend(sa,"value_1") success = CkStringArray::ckAppend(sa,"value_2") ; ... success = CkXmp::ckAddArray(xmp,xml,"bag","Iptc4xmpCore:Chilkat",sa) If success <> 1 Debug CkXmp::ckLastErrorText(xmp) Else ; Save the JPG. success = CkXmp::ckSaveAppFile(xmp,"modified.jpg") If success <> 1 Debug CkXmp::ckLastErrorText(xmp) EndIf EndIf CkXml::ckDispose(xml) Else Debug CkXmp::ckLastErrorText(xmp) EndIf CkXmp::ckDispose(xmp) CkStringArray::ckDispose(sa) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.