Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Add String XMP Property C++ sample program to add string properties to an existing XMP embedded in a JPG or TIF image file. void XmpAddSimpleStr(void)
{
// Adds a simple XMP string property to XMP metadata embedded
// in a JPG or TIF.
CkXmp xmp;
xmp.UnlockComponent("anything for 30-day trial");
bool success = xmp.LoadAppFile("AgencyPhotographer-Example.jpg");
if (!success)
{
xmp.SaveLastError("lastError.txt");
return;
}
// Get the 1st XMP metadata document contained within the JPG.
// (It is unusual to have more than a single XMP embedded in a JPG or TIFF)
CkXml *xml = xmp.GetEmbedded(0);
if (!xml)
{
printf("XMP not found!\n");
return;
}
CkString str;
// AddSimpleStr adds the string property under the correct
// rdf:Description subtree.
//
// If the string property already exists, it is replaced,
// otherwise it is added.
//
// If the rdf:Description subtree does not yet exist for the namespace,
// it is automatically created. The Chilkat XMP component automatically
// recognizes standard namespaces such as "Iptc4xmpCore" and others
// and will use the correct URI in the rdf:Description node.
xmp.AddSimpleStr(*xml,"Iptc4xmpCore:Location","Wheaton");
xmp.AddSimpleStr(*xml,"Iptc4xmpCore:CountryCode","US");
xmp.AddSimpleStr(*xml,"Iptc4xmpCore:AbcXyz","Junk");
// To use a non-standard namespace, add a namespace mapping:
xmp.AddNsMapping("Chilkat","http://www.chilkatsoft.com/");
// Chilkat XMP creates an rdf:Description node automatically for the
// "Chilkat" namespace, and the URI used is from our mapping (above).
xmp.AddSimpleStr(*xml,"Chilkat:AbcXyz","Junk");
// Save the JPG with its updated XMP metadata.
xmp.SaveAppFile("out.jpg");
// Save the XMP to an XML file so we can review the changes in a text editor
xml->SaveXml("newXmp.xml");
delete xml;
return;
}
|
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.