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
(Objective-C) XMP Array Property - Bag, Seq, or AltHow to insert or update an XMP array property (bag, seq, or alt).
#import <CkoXmp.h> #import <CkoXml.h> #import <CkoStringArray.h> // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoXmp *xmp = [[CkoXmp alloc] init]; // 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 BOOL success = [xmp LoadAppFile: @"sample1.jpg"]; if (success != YES) { NSLog(@"%@",xmp.LastErrorText); return; } NSLog(@"%@%d",@"Num embedded XMP docs: ",[xmp.NumEmbedded intValue]); // Assuming there is at least one, get the 1st. // (There is typically never more than one, but theoretically it's possible.) CkoXml *xml = 0; xml = [xmp GetEmbedded: [NSNumber numberWithInt: 0]]; if (xmp.LastMethodSuccess == YES) { // Create an object to hold one or more string values. CkoStringArray *sa = [[CkoStringArray alloc] init]; success = [sa Append: @"value_1"]; success = [sa Append: @"value_2"]; // ... success = [xmp AddArray: xml arrType: @"bag" propName: @"Iptc4xmpCore:Chilkat" values: sa]; if (success != YES) { NSLog(@"%@",xmp.LastErrorText); } else { // Save the JPG. success = [xmp SaveAppFile: @"modified.jpg"]; if (success != YES) { NSLog(@"%@",xmp.LastErrorText); } } } else { NSLog(@"%@",xmp.LastErrorText); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.