Gin
Loading...
Searching...
No Matches
ImageMetadata Class Referenceabstract

Base class for reading metadata from image files (JPEG, PNG, GIF). More...

#include <gin_imagemetadata.h>

Inheritance diagram for ImageMetadata:

Public Member Functions

 ImageMetadata (const juce::String &type)
virtual ~ImageMetadata ()
juce::String getType () const
virtual juce::StringPairArray getAllMetadata () const =0

Static Public Member Functions

static bool getFromImage (juce::InputStream &is, juce::OwnedArray< ImageMetadata > &metadata)

Protected Attributes

juce::String type

Detailed Description

Base class for reading metadata from image files (JPEG, PNG, GIF).

ImageMetadata provides a polymorphic interface for accessing various types of image metadata (EXIF, XMP, IPTC, comments). Different metadata formats are handled by derived classes that parse format-specific data.

The getFromImage() factory method automatically detects and extracts all available metadata types from an image file, returning them as an array of ImageMetadata objects.

Supported metadata formats:

  • EXIF: Camera settings, GPS, timestamps
  • XMP: Adobe extensible metadata
  • IPTC: Press/journalism metadata
  • Comment: Simple text comments

Usage:

FileInputStream stream(imageFile);
OwnedArray<ImageMetadata> metadata;
if (ImageMetadata::getFromImage(stream, metadata))
{
for (auto* meta : metadata)
{
DBG("Metadata type: " + meta->getType());
StringPairArray data = meta->getAllMetadata();
for (auto& key : data.getAllKeys())
DBG(key + ": " + data[key]);
}
}
static bool getFromImage(juce::InputStream &is, juce::OwnedArray< ImageMetadata > &metadata)
See also
ExifMetadata, XmpMetadata, IptcMetadata, CommentMetadata

Constructor & Destructor Documentation

◆ ImageMetadata()

ImageMetadata::ImageMetadata ( const juce::String & type)

References type.

◆ ~ImageMetadata()

virtual ImageMetadata::~ImageMetadata ( )
virtual

Member Function Documentation

◆ getType()

juce::String ImageMetadata::getType ( ) const

References type.

◆ getAllMetadata()

virtual juce::StringPairArray ImageMetadata::getAllMetadata ( ) const
pure virtual

◆ getFromImage()

bool ImageMetadata::getFromImage ( juce::InputStream & is,
juce::OwnedArray< ImageMetadata > & metadata )
static

Member Data Documentation

◆ type

juce::String ImageMetadata::type
protected

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