Add more easy accessors for Exif & TIFF/EP overlap

This commit is contained in:
Miloš Komarčević 2020-11-02 10:25:19 +01:00
parent 298aa86575
commit 189e0c9338
2 changed files with 121 additions and 0 deletions

View File

@ -74,12 +74,34 @@ namespace Exiv2 {
EXIV2API ExifData::const_iterator exposureTime(const ExifData& ed);
//! Return the F number
EXIV2API ExifData::const_iterator fNumber(const ExifData& ed);
//! Return the shutter speed value
EXIV2API ExifData::const_iterator shutterSpeedValue(const ExifData& ed);
//! Return the aperture value
EXIV2API ExifData::const_iterator apertureValue(const ExifData& ed);
//! Return the brightness value
EXIV2API ExifData::const_iterator brightnessValue(const ExifData& ed);
//! Return the exposure bias value
EXIV2API ExifData::const_iterator exposureBiasValue(const ExifData& ed);
//! Return the max aperture value
EXIV2API ExifData::const_iterator maxApertureValue(const ExifData& ed);
//! Return the subject distance
EXIV2API ExifData::const_iterator subjectDistance(const ExifData& ed);
//! Return the kind of light source
EXIV2API ExifData::const_iterator lightSource(const ExifData& ed);
//! Return the status of flash
EXIV2API ExifData::const_iterator flash(const ExifData& ed);
//! Return the camera serial number
EXIV2API ExifData::const_iterator serialNumber(const ExifData& ed);
//! Return the focal length setting
EXIV2API ExifData::const_iterator focalLength(const ExifData& ed);
//! Return the subject location and area
EXIV2API ExifData::const_iterator subjectArea(const ExifData& ed);
//! Return the flash energy
EXIV2API ExifData::const_iterator flashEnergy(const ExifData& ed);
//! Return the exposure index
EXIV2API ExifData::const_iterator exposureIndex(const ExifData& ed);
//! Return the image sensor type
EXIV2API ExifData::const_iterator sensingMethod(const ExifData& ed);
//! Return the AF point
EXIV2API ExifData::const_iterator afPoint(const ExifData& ed);

View File

@ -461,6 +461,51 @@ namespace Exiv2 {
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator shutterSpeedValue(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.ShutterSpeedValue",
"Exif.Image.ShutterSpeedValue"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator apertureValue(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.ApertureValue",
"Exif.Image.ApertureValue"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator brightnessValue(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.BrightnessValue",
"Exif.Image.BrightnessValue"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator exposureBiasValue(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.ExposureBiasValue",
"Exif.Image.ExposureBiasValue"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator maxApertureValue(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.MaxApertureValue",
"Exif.Image.MaxApertureValue"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator subjectDistance(const ExifData& ed)
{
static const char* keys[] = {
@ -482,6 +527,24 @@ namespace Exiv2 {
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator lightSource(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.LightSource",
"Exif.Image.LightSource"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator flash(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.Flash",
"Exif.Image.Flash"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator serialNumber(const ExifData& ed)
{
static const char* keys[] = {
@ -512,6 +575,42 @@ namespace Exiv2 {
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator subjectArea(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.SubjectArea",
"Exif.Image.SubjectLocation"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator flashEnergy(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.FlashEnergy",
"Exif.Image.FlashEnergy"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator exposureIndex(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.ExposureIndex",
"Exif.Image.ExposureIndex"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator sensingMethod(const ExifData& ed)
{
static const char* keys[] = {
"Exif.Photo.SensingMethod",
"Exif.Image.SensingMethod"
};
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
}
ExifData::const_iterator afPoint(const ExifData& ed)
{
static const char* keys[] = {