Sample code for 30+ languages & platforms
Xbase++

Add XMP MetaData to JPG or TIFF

See more XMP Examples

Demonstrates how to add XMP metadata to a JPG or TIFF image that doesn't already have XMP metadata.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oXmp
LOCAL oXml

nSuccess := 0

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oXmp := CreateObject("Chilkat.Xmp")

//  The first step is to create a new XMP document, which is nothing
//  more than XML.  The NewXmp method returns an XML document with
//  the standard XMP boilerplate.  
oXml := oXmp:NewXmp()

//  Add some properties...
nSuccess := oXmp:AddSimpleStr(oXml, "Iptc4xmpCore:Chilkat", "Blah blah")
//  If you wish to view the XML, save it to a file and review it
//  with a text editor:
nSuccess := oXml:SaveXml("newXmp.xml")
IF (nSuccess != 1)
    ? oXml:LastErrorText
    oXmp:destroy()
    RETURN
ENDIF

//  To add the XMP to the JPG (or TIFF), simply load the JPG,
//  append the XMP, and save:
nSuccess := oXmp:LoadAppFile("scream.jpg")
IF (nSuccess != 1)
    ? oXmp:LastErrorText
    oXmp:destroy()
    RETURN
ENDIF

nSuccess := oXmp:Append(oXml)
IF (nSuccess != 1)
    ? oXmp:LastErrorText
    oXmp:destroy()
    RETURN
ENDIF

nSuccess := oXmp:SaveAppFile("screamOut.jpg")
IF (nSuccess != 1)
    ? oXmp:LastErrorText
    oXmp:destroy()
    RETURN
ENDIF

oXmp:destroy()