3#include <QtCore/QByteArray>
4#include <QtCore/QDateTime>
5#include <QtCore/QLoggingCategory>
6#include <QtCore/QString>
8#include <libexif/exif-data.h>
35bool isJpeg(
const QByteArray &buffer);
39bool isTiff(
const QByteArray &buffer);
49QString
readString(ExifData *data, ExifTag tag, ExifIfd ifd = EXIF_IFD_0);
52int readShort(ExifData *data, ExifTag tag, ExifIfd ifd = EXIF_IFD_0);
55double readRational(ExifData *data, ExifTag tag, ExifIfd ifd = EXIF_IFD_0);
64ExifEntry*
initTag(ExifData *data, ExifIfd ifd, ExifTag tag);
69ExifEntry*
createTag(ExifData *data, ExifIfd ifd, ExifTag tag, ExifFormat format,
unsigned long components);
82void writeRational(ExifEntry *entry, ExifByteOrder order,
double value,
int denominator = 100);
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
ExifEntry * initTag(ExifData *data, ExifIfd ifd, ExifTag tag)
double readRational(ExifData *data, ExifTag tag, ExifIfd ifd)
Read a rational value from an EXIF tag.
void writeGpsAltRef(ExifEntry *entry, unsigned char value)
Write a byte value to a GPS altitude reference entry (0=above, 1=below sea level)
bool isTiff(const QByteArray &buffer)
ExifEntry * createTag(ExifData *data, ExifIfd ifd, ExifTag tag, ExifFormat format, unsigned long components)
ExifData * loadFromBuffer(const QByteArray &buffer)
void writeGpsCoordinate(ExifEntry *entry, ExifByteOrder order, double value)
Write GPS coordinate as EXIF rationals (degrees, minutes, seconds)
void writeRational(ExifEntry *entry, ExifByteOrder order, double value, int denominator)
Write a single rational value to an entry.
bool writeDateTimeOriginal(ExifData *data, const QDateTime &dateTime)
bool hasExifData(const QByteArray &buffer)
Check if a buffer contains valid JPEG with EXIF data.
QString readString(ExifData *data, ExifTag tag, ExifIfd ifd)
Read a string value from an EXIF tag.
bool isJpeg(const QByteArray &buffer)
Check if a buffer is a JPEG image (starts with 0xFF 0xD8)
bool saveToBuffer(ExifData *data, QByteArray &buffer)
double gpsRationalToDecimal(ExifEntry *entry, ExifByteOrder order)
Convert GPS coordinate from EXIF rational format (deg/min/sec) to decimal degrees.
void writeGpsRef(ExifEntry *entry, char value)
Write an ASCII character to a GPS reference entry (N/S/E/W)
int readShort(ExifData *data, ExifTag tag, ExifIfd ifd)
Read a short (16-bit) value from an EXIF tag.