Gin
Loading...
Searching...
No Matches
XmpMetadata Class Reference

Reads XMP (Extensible Metadata Platform) metadata from JPEG and PNG images. More...

#include <gin_xmpmetadata.h>

Inheritance diagram for XmpMetadata:

Public Member Functions

 XmpMetadata ()
virtual ~XmpMetadata ()
juce::StringPairArray getAllMetadata () const

Static Public Member Functions

static XmpMetadata * createFromJpg (const juce::uint8 *data, int sz)
static XmpMetadata * createFromPng (const char *data, int sz)

Additional Inherited Members

Detailed Description

Reads XMP (Extensible Metadata Platform) metadata from JPEG and PNG images.

XmpMetadata extracts Adobe's XMP data, which provides a standardized way to store metadata across different file formats. XMP is commonly used by Adobe products and professional photography workflows for storing rich metadata.

XMP can contain:

  • Dublin Core metadata (title, creator, description, keywords)
  • Rights management information
  • Adobe-specific data (Lightroom, Photoshop settings)
  • Custom metadata namespaces
  • IPTC Core information

The metadata is stored as XML and this class parses it into key-value pairs.

Usage:

FileInputStream stream(imageFile);
OwnedArray<ImageMetadata> metadata;
ImageMetadata::getFromImage(stream, metadata);
for (auto* meta : metadata)
{
if (auto* xmp = dynamic_cast<XmpMetadata*>(meta))
{
StringPairArray data = xmp->getAllMetadata();
String title = data["dc:title"];
String creator = data["dc:creator"];
String keywords = data["dc:subject"];
}
}
static bool getFromImage(juce::InputStream &is, juce::OwnedArray< ImageMetadata > &metadata)
See also
ImageMetadata, ExifMetadata, IptcMetadata

Constructor & Destructor Documentation

◆ XmpMetadata()

XmpMetadata::XmpMetadata ( )

Referenced by createFromJpg(), and createFromPng().

◆ ~XmpMetadata()

virtual XmpMetadata::~XmpMetadata ( )
virtual

Member Function Documentation

◆ createFromJpg()

XmpMetadata * XmpMetadata::createFromJpg ( const juce::uint8 * data,
int sz )
static

References XmpMetadata().

◆ createFromPng()

XmpMetadata * XmpMetadata::createFromPng ( const char * data,
int sz )
static

References XmpMetadata().

◆ getAllMetadata()

juce::StringPairArray XmpMetadata::getAllMetadata ( ) const
virtual

Implements ImageMetadata.


The documentation for this class was generated from the following file: