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

Reads EXIF (Exchangeable Image File Format) metadata from JPEG images. More...

#include <gin_exifmetadata.h>

Inheritance diagram for ExifMetadata:

Public Member Functions

 ExifMetadata ()
virtual ~ExifMetadata ()
juce::StringPairArray getAllMetadata () const
juce::Image getThumbnailImage ()

Static Public Member Functions

static ExifMetadata * create (const juce::uint8 *data, int sz)

Additional Inherited Members

Detailed Description

Reads EXIF (Exchangeable Image File Format) metadata from JPEG images.

ExifMetadata extracts camera and image information embedded in JPEG files, including camera settings, GPS coordinates, timestamps, and technical details. EXIF data is commonly generated by digital cameras and smartphones.

Key Features:

  • Camera settings (ISO, aperture, shutter speed, focal length)
  • GPS coordinates and altitude
  • Date/time information
  • Camera make and model
  • Thumbnail image extraction
  • Orientation information

Common EXIF tags include:

  • Make, Model: Camera manufacturer and model
  • DateTime: When photo was taken
  • ExposureTime: Shutter speed
  • FNumber: Aperture (f-stop)
  • ISOSpeedRatings: ISO sensitivity
  • FocalLength: Lens focal length
  • GPSLatitude, GPSLongitude: Location data

Usage:

FileInputStream stream(jpegFile);
OwnedArray<ImageMetadata> metadata;
ImageMetadata::getFromImage(stream, metadata);
for (auto* meta : metadata)
{
if (auto* exif = dynamic_cast<ExifMetadata*>(meta))
{
StringPairArray data = exif->getAllMetadata();
String camera = data["Make"] + " " + data["Model"];
String dateTime = data["DateTime"];
Image thumbnail = exif->getThumbnailImage();
}
}
static bool getFromImage(juce::InputStream &is, juce::OwnedArray< ImageMetadata > &metadata)
See also
ImageMetadata, XmpMetadata

Constructor & Destructor Documentation

◆ ExifMetadata()

ExifMetadata::ExifMetadata ( )

Referenced by create().

◆ ~ExifMetadata()

virtual ExifMetadata::~ExifMetadata ( )
virtual

Member Function Documentation

◆ create()

ExifMetadata * ExifMetadata::create ( const juce::uint8 * data,
int sz )
static

References ExifMetadata().

◆ getAllMetadata()

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

Implements ImageMetadata.

◆ getThumbnailImage()

juce::Image ExifMetadata::getThumbnailImage ( )

References ImageMetadata::type.


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