KExiv2Iface::KExiv2

#include <KExiv2/KExiv2>

Public Types

typedef QMap< QString, QStringAltLangMap
 
enum  ImageColorWorkSpace { WORKSPACE_UNSPECIFIED = 0, WORKSPACE_SRGB = 1, WORKSPACE_ADOBERGB = 2, WORKSPACE_UNCALIBRATED = 65535 }
 
enum  ImageOrientation {
  ORIENTATION_UNSPECIFIED = 0, ORIENTATION_NORMAL = 1, ORIENTATION_HFLIP = 2, ORIENTATION_ROT_180 = 3,
  ORIENTATION_VFLIP = 4, ORIENTATION_ROT_90_HFLIP = 5, ORIENTATION_ROT_90 = 6, ORIENTATION_ROT_90_VFLIP = 7,
  ORIENTATION_ROT_270 = 8
}
 
typedef QMap< QString, QStringMetaDataMap
 
enum  MetadataWritingMode { WRITETOIMAGEONLY = 0, WRITETOSIDECARONLY = 1, WRITETOSIDECARANDIMAGE = 2, WRITETOSIDECARONLY4READONLYFILES = 3 }
 
typedef QMap< QString, QStringListTagsMap
 
enum  XmpTagType {
  NormalTag = 0, ArrayBagTag = 1, StructureTag = 2, ArrayLangTag = 3,
  ArraySeqTag = 4
}
 

Public Member Functions

 KExiv2 ()
 
 KExiv2 (const KExiv2 &metadata)
 
 KExiv2 (const KExiv2Data &data)
 
 KExiv2 (const QString &filePath)
 
virtual ~KExiv2 ()
 
KExiv2operator= (const KExiv2 &metadata)
 
General methods
KExiv2Data data () const
 
void setData (const KExiv2Data &data)
 
bool loadFromData (const QByteArray &imgData) const
 
virtual bool load (const QString &filePath) const
 
bool save (const QString &filePath) const
 
bool applyChanges () const
 
bool isEmpty () const
 
void setFilePath (const QString &path)
 
QString getFilePath () const
 
QSize getPixelSize () const
 
QString getMimeType () const
 
void setWriteRawFiles (const bool on)
 
bool writeRawFiles () const
 
void setUseXMPSidecar4Reading (const bool on)
 
bool useXMPSidecar4Reading () const
 
void setMetadataWritingMode (const int mode)
 
int metadataWritingMode () const
 
void setUpdateFileTimeStamp (bool on)
 
bool updateFileTimeStamp () const
 
Metadata image information manipulation methods
bool setImageProgramId (const QString &program, const QString &version) const
 
QSize getImageDimensions () const
 
bool setImageDimensions (const QSize &size, bool setProgramName=true) const
 
KExiv2::ImageOrientation getImageOrientation () const
 
bool setImageOrientation (ImageOrientation orientation, bool setProgramName=true) const
 
KExiv2::ImageColorWorkSpace getImageColorWorkSpace () const
 
bool setImageColorWorkSpace (ImageColorWorkSpace workspace, bool setProgramName=true) const
 
QDateTime getImageDateTime () const
 
bool setImageDateTime (const QDateTime &dateTime, bool setDateTimeDigitized=false, bool setProgramName=true) const
 
QDateTime getDigitizationDateTime (bool fallbackToCreationTime=false) const
 
bool getImagePreview (QImage &preview) const
 
virtual bool setImagePreview (const QImage &preview, bool setProgramName=true) const
 

Static Public Member Functions

Static methods
static bool initializeExiv2 ()
 
static bool cleanupExiv2 ()
 
static bool supportXmp ()
 
static bool supportMetadataWritting (const QString &typeMime)
 
static QString Exiv2Version ()
 
static QString version ()
 
static QString sidecarFilePathForFile (const QString &path)
 
static QString sidecarPath (const QString &path)
 
static QUrl sidecarUrl (const QUrl &url)
 
static QUrl sidecarUrl (const QString &path)
 
static bool hasSidecar (const QString &path)
 

Protected Member Functions

virtual bool setProgramId (bool on=true) const
 

Comments manipulation methods

bool hasComments () const
 
bool clearComments () const
 
QByteArray getComments () const
 
QString getCommentsDecoded () const
 
bool setComments (const QByteArray &data) const
 
static bool canWriteComment (const QString &filePath)
 
static QString detectLanguageAlt (const QString &value, QString &lang)
 

Exif manipulation methods

TagsMap getStdExifTagsList () const
 
TagsMap getMakernoteTagsList () const
 
bool hasExif () const
 
bool clearExif () const
 
QByteArray getExifEncoded (bool addExifHeader=false) const
 
bool setExif (const QByteArray &data) const
 
QImage getExifThumbnail (bool fixOrientation) const
 
bool rotateExifQImage (QImage &image, ImageOrientation orientation) const
 
bool setExifThumbnail (const QImage &thumb, bool setProgramName=true) const
 
bool removeExifThumbnail () const
 
bool setTiffThumbnail (const QImage &thumb, bool setProgramName=true) const
 
QString getExifComment () const
 
bool setExifComment (const QString &comment, bool setProgramName=true) const
 
QString getExifTagString (const char *exifTagName, bool escapeCR=true) const
 
bool setExifTagString (const char *exifTagName, const QString &value, bool setProgramName=true) const
 
bool getExifTagLong (const char *exifTagName, long &val) const
 
bool getExifTagLong (const char *exifTagName, long &val, int component) const
 
bool setExifTagLong (const char *exifTagName, long val, bool setProgramName=true) const
 
bool getExifTagRational (const char *exifTagName, long int &num, long int &den, int component=0) const
 
bool setExifTagRational (const char *exifTagName, long int num, long int den, bool setProgramName=true) const
 
QByteArray getExifTagData (const char *exifTagName) const
 
bool setExifTagData (const char *exifTagName, const QByteArray &data, bool setProgramName=true) const
 
QVariant getExifTagVariant (const char *exifTagName, bool rationalAsListOfInts=true, bool escapeCR=true, int component=0) const
 
bool setExifTagVariant (const char *exifTagName, const QVariant &data, bool rationalWantSmallDenominator=true, bool setProgramName=true) const
 
bool removeExifTag (const char *exifTagName, bool setProgramName=true) const
 
QString getExifTagTitle (const char *exifTagName)
 
QString getExifTagDescription (const char *exifTagName)
 
QString createExifUserStringFromValue (const char *exifTagName, const QVariant &val, bool escapeCR=true)
 
KExiv2::MetaDataMap getExifTagsDataList (const QStringList &exifKeysFilter=QStringList(), bool invertSelection=false) const
 
static bool canWriteExif (const QString &filePath)
 

IPTC manipulation methods

KExiv2::TagsMap getIptcTagsList () const
 
bool hasIptc () const
 
bool clearIptc () const
 
QByteArray getIptc (bool addIrbHeader=false) const
 
bool setIptc (const QByteArray &data) const
 
QString getIptcTagString (const char *iptcTagName, bool escapeCR=true) const
 
bool setIptcTagString (const char *iptcTagName, const QString &value, bool setProgramName=true) const
 
QStringList getIptcTagsStringList (const char *iptcTagName, bool escapeCR=true) const
 
bool setIptcTagsStringList (const char *iptcTagName, int maxSize, const QStringList &oldValues, const QStringList &newValues, bool setProgramName=true) const
 
QByteArray getIptcTagData (const char *iptcTagName) const
 
bool setIptcTagData (const char *iptcTagName, const QByteArray &data, bool setProgramName=true) const
 
bool removeIptcTag (const char *iptcTagName, bool setProgramName=true) const
 
QString getIptcTagTitle (const char *iptcTagName)
 
QString getIptcTagDescription (const char *iptcTagName)
 
KExiv2::MetaDataMap getIptcTagsDataList (const QStringList &iptcKeysFilter=QStringList(), bool invertSelection=false) const
 
QStringList getIptcKeywords () const
 
bool setIptcKeywords (const QStringList &oldKeywords, const QStringList &newKeywords, bool setProgramName=true) const
 
QStringList getIptcSubjects () const
 
bool setIptcSubjects (const QStringList &oldSubjects, const QStringList &newSubjects, bool setProgramName=true) const
 
QStringList getIptcSubCategories () const
 
bool setIptcSubCategories (const QStringList &oldSubCategories, const QStringList &newSubCategories, bool setProgramName=true) const
 
static bool canWriteIptc (const QString &filePath)
 

XMP manipulation methods

KExiv2::TagsMap getXmpTagsList () const
 
bool hasXmp () const
 
bool clearXmp () const
 
QByteArray getXmp () const
 
bool setXmp (const QByteArray &data) const
 
QString getXmpTagString (const char *xmpTagName, bool escapeCR=true) const
 
bool setXmpTagString (const char *xmpTagName, const QString &value, bool setProgramName=true) const
 
bool setXmpTagString (const char *xmpTagName, const QString &value, XmpTagType type, bool setProgramName=true) const
 
QString getXmpTagTitle (const char *xmpTagName)
 
QString getXmpTagDescription (const char *xmpTagName)
 
KExiv2::MetaDataMap getXmpTagsDataList (const QStringList &xmpKeysFilter=QStringList(), bool invertSelection=false) const
 
KExiv2::AltLangMap getXmpTagStringListLangAlt (const char *xmpTagName, bool escapeCR=true) const
 
bool setXmpTagStringListLangAlt (const char *xmpTagName, const KExiv2::AltLangMap &values, bool setProgramName) const
 
QString getXmpTagStringLangAlt (const char *xmpTagName, const QString &langAlt, bool escapeCR) const
 
bool setXmpTagStringLangAlt (const char *xmpTagName, const QString &value, const QString &langAlt, bool setProgramName=true) const
 
QStringList getXmpTagStringSeq (const char *xmpTagName, bool escapeCR=true) const
 
bool setXmpTagStringSeq (const char *xmpTagName, const QStringList &seq, bool setProgramName=true) const
 
QStringList getXmpTagStringBag (const char *xmpTagName, bool escapeCR) const
 
bool setXmpTagStringBag (const char *xmpTagName, const QStringList &bag, bool setProgramName=true) const
 
bool addToXmpTagStringBag (const char *xmpTagName, const QStringList &entriesToAdd, bool setProgramName) const
 
bool removeFromXmpTagStringBag (const char *xmpTagName, const QStringList &entriesToRemove, bool setProgramName) const
 
QVariant getXmpTagVariant (const char *xmpTagName, bool rationalAsListOfInts=true, bool stringEscapeCR=true) const
 
QStringList getXmpKeywords () const
 
bool setXmpKeywords (const QStringList &newKeywords, bool setProgramName=true) const
 
bool removeXmpKeywords (const QStringList &keywordsToRemove, bool setProgramName=true)
 
QStringList getXmpSubjects () const
 
bool setXmpSubjects (const QStringList &newSubjects, bool setProgramName=true) const
 
bool removeXmpSubjects (const QStringList &subjectsToRemove, bool setProgramName=true)
 
QStringList getXmpSubCategories () const
 
bool setXmpSubCategories (const QStringList &newSubCategories, bool setProgramName=true) const
 
bool removeXmpSubCategories (const QStringList &categoriesToRemove, bool setProgramName=true)
 
bool removeXmpTag (const char *xmpTagName, bool setProgramName=true) const
 
static bool canWriteXmp (const QString &filePath)
 
static bool registerXmpNameSpace (const QString &uri, const QString &prefix)
 
static bool unregisterXmpNameSpace (const QString &uri)
 

GPS manipulation methods

bool initializeGPSInfo (const bool setProgramName)
 
bool getGPSInfo (double &altitude, double &latitude, double &longitude) const
 
QString getGPSLatitudeString () const
 
QString getGPSLongitudeString () const
 
bool getGPSLatitudeNumber (double *const latitude) const
 
bool getGPSLongitudeNumber (double *const longitude) const
 
bool getGPSAltitude (double *const altitude) const
 
bool setGPSInfo (const double altitude, const double latitude, const double longitude, const bool setProgramName=true)
 
bool setGPSInfo (const double *const altitude, const double latitude, const double longitude, const bool setProgramName=true)
 
bool setGPSInfo (const double altitude, const QString &latitude, const QString &longitude, const bool setProgramName=true)
 
bool removeGPSInfo (const bool setProgramName=true)
 
static void convertToRational (const double number, long int *const numerator, long int *const denominator, const int rounding)
 
static void convertToRationalSmallDenominator (const double number, long int *const numerator, long int *const denominator)
 
static QString convertToGPSCoordinateString (const long int numeratorDegrees, const long int denominatorDegrees, const long int numeratorMinutes, const long int denominatorMinutes, const long int numeratorSeconds, long int denominatorSeconds, const char directionReference)
 
static QString convertToGPSCoordinateString (const bool isLatitude, double coordinate)
 
static bool convertFromGPSCoordinateString (const QString &coordinate, long int *const numeratorDegrees, long int *const denominatorDegrees, long int *const numeratorMinutes, long int *const denominatorMinutes, long int *const numeratorSeconds, long int *const denominatorSeconds, char *const directionReference)
 
static bool convertFromGPSCoordinateString (const QString &gpsString, double *const coordinate)
 
static bool convertToUserPresentableNumbers (const QString &coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference)
 
static void convertToUserPresentableNumbers (const bool isLatitude, double coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference)
 

Detailed Description

KExiv2.

Definition at line 66 of file kexiv2.h.

Member Typedef Documentation

A map used to store a list of Alternative Language values.

The map key is the language code following RFC3066 notation (like "fr-FR" for French), and the map value the text.

Definition at line 134 of file kexiv2.h.

A map used to store Tags Key and Tags Value.

Definition at line 128 of file kexiv2.h.

A map used to store Tags Key and a list of Tags properties :

  • name,
  • title,
  • description.

Definition at line 141 of file kexiv2.h.

Member Enumeration Documentation

The image color workspace values given by Exif metadata.

Definition at line 91 of file kexiv2.h.

The image orientation values given by Exif metadata.

Definition at line 101 of file kexiv2.h.

The image metadata writing mode, between image file metadata and XMP sidecar file, depending on the context.

See also
MetadataWritingMode(), metadataWritingMode()
Enumerator
WRITETOIMAGEONLY 

Write metadata to image file only.

WRITETOSIDECARONLY 

Write metadata to sidecar file only.

WRITETOSIDECARANDIMAGE 

Write metadata to image and sidecar files.

WRITETOSIDECARONLY4READONLYFILES 

Write metadata to sidecar file only for read only images such as RAW files for example.

Definition at line 74 of file kexiv2.h.

Xmp tag types, used by setXmpTag, only first three types are used.

Definition at line 117 of file kexiv2.h.

Constructor & Destructor Documentation

KExiv2Iface::KExiv2::KExiv2 ( )

Standard constructor.

Definition at line 39 of file kexiv2.cpp.

KExiv2Iface::KExiv2::KExiv2 ( const KExiv2 metadata)

Copy constructor.

Definition at line 44 of file kexiv2.cpp.

KExiv2Iface::KExiv2::KExiv2 ( const KExiv2Data &  data)

Constructor to load from parsed data.

Definition at line 50 of file kexiv2.cpp.

KExiv2Iface::KExiv2::KExiv2 ( const QString filePath)

Contructor to Load Metadata from image file.

Definition at line 56 of file kexiv2.cpp.

KExiv2Iface::KExiv2::~KExiv2 ( )
virtual

Standard destructor.

Definition at line 62 of file kexiv2.cpp.

Member Function Documentation

bool KExiv2Iface::KExiv2::addToXmpTagStringBag ( const char *  xmpTagName,
const QStringList entriesToAdd,
bool  setProgramName 
) const

Set an Xmp tag content using a list of strings defined by the 'entriesToAdd' parameter.

The existing entries are preserved. The method will compare all new with all already existing entries to prevent duplicates in the image. Return true if the entries have been added to metadata.

Definition at line 890 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::applyChanges ( ) const

The same than save() method, but it apply on current image.

Return true if metadata have been saved into file.

Definition at line 450 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::canWriteComment ( const QString filePath)
static

Return 'true' if Comments can be written in file.

Definition at line 37 of file kexiv2comments.cpp.

bool KExiv2Iface::KExiv2::canWriteExif ( const QString filePath)
static

Return 'true' if Exif can be written in file.

Definition at line 48 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::canWriteIptc ( const QString filePath)
static

Return 'true' if Iptc can be written in file.

Definition at line 37 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::canWriteXmp ( const QString filePath)
static

Return 'true' if Xmp can be written in file.

Definition at line 37 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::cleanupExiv2 ( )
static

Return true if Exiv2 library memory allocations are cleaned properly.

This method must be called after using libkexiv2 with multithreading. It cleans up memory used by Adobe XMP SDK See B.K.O #166424 for details.

Definition at line 94 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::clearComments ( ) const

Clear the Comments metadata container in memory.

Definition at line 66 of file kexiv2comments.cpp.

bool KExiv2Iface::KExiv2::clearExif ( ) const

Clear the Exif metadata container in memory.

Definition at line 78 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::clearIptc ( ) const

Clear the Iptc metadata container in memory.

Definition at line 66 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::clearXmp ( ) const

Clear the Xmp metadata container in memory.

Definition at line 81 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::convertFromGPSCoordinateString ( const QString coordinate,
long int *const  numeratorDegrees,
long int *const  denominatorDegrees,
long int *const  numeratorMinutes,
long int *const  denominatorMinutes,
long int *const  numeratorSeconds,
long int *const  denominatorSeconds,
char *const  directionReference 
)
static

Converts a GPSCoordinate string as defined by XMP to three rationals and the direction reference.

Returns true if the conversion was successful. If minutes is given in the fractional form, a denominator of 1000000 for the minutes will be used.

Definition at line 837 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::convertFromGPSCoordinateString ( const QString gpsString,
double *const  coordinate 
)
static

Convert a GPSCoordinate string as defined by XMP to a double floating point number in degrees where the sign determines the direction ref (North + / South - ; East + / West -).

Returns true if the conversion was successful.

Definition at line 886 of file kexiv2gps.cpp.

QString KExiv2Iface::KExiv2::convertToGPSCoordinateString ( const long int  numeratorDegrees,
const long int  denominatorDegrees,
const long int  numeratorMinutes,
const long int  denominatorMinutes,
const long int  numeratorSeconds,
long int  denominatorSeconds,
const char  directionReference 
)
static

Converts a GPS position stored as rationals in Exif to the form described as GPSCoordinate in the XMP specification, either in the from "256,45,34N" or "256,45.566667N".

Precision: A second at sea level measures 30m for our purposes, a minute 1800m. (for more details, see https://en.wikipedia.org/wiki/Geographic_coordinate_system) This means with a decimal precision of 8 for minutes we get +/-0,018mm. (if I calculated correctly)

Definition at line 723 of file kexiv2gps.cpp.

QString KExiv2Iface::KExiv2::convertToGPSCoordinateString ( const bool  isLatitude,
double  coordinate 
)
static

Converts a GPS position stored as double floating point number in degrees to the form described as GPSCoordinate in the XMP specification.

Definition at line 796 of file kexiv2gps.cpp.

void KExiv2Iface::KExiv2::convertToRational ( const double  number,
long int *const  numerator,
long int *const  denominator,
const int  rounding 
)
static

This method converts 'number' to a rational value, returned in the 'numerator' and 'denominator' parameters.

Set the precision using 'rounding' parameter. Use this method if you want to retrieve a most exact rational for a number without further properties, without any requirements to the denominator.

Definition at line 596 of file kexiv2gps.cpp.

void KExiv2Iface::KExiv2::convertToRationalSmallDenominator ( const double  number,
long int *const  numerator,
long int *const  denominator 
)
static

This method convert a 'number' to a rational value, returned in 'numerator' and 'denominator' parameters.

This method will be able to retrieve a rational number from a double - if you constructed your double with 1.0 / 4786.0, this method will retrieve 1 / 4786. If your number is not expected to be rational, use the method above which is just as exact with rounding = 4 and more exact with rounding > 4.

Definition at line 656 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::convertToUserPresentableNumbers ( const QString coordinate,
int *const  degrees,
int *const  minutes,
double *const  seconds,
char *const  directionReference 
)
static

Converts a GPSCoordinate string to user presentable numbers, integer degrees and minutes and double floating point seconds, and a direction reference ('N' or 'S', 'E' or 'W')

Definition at line 925 of file kexiv2gps.cpp.

void KExiv2Iface::KExiv2::convertToUserPresentableNumbers ( const bool  isLatitude,
double  coordinate,
int *const  degrees,
int *const  minutes,
double *const  seconds,
char *const  directionReference 
)
static

Converts a double floating point number to user presentable numbers, integer degrees and minutes and double floating point seconds, and a direction reference ('N' or 'S', 'E' or 'W').

The method needs to know for the direction reference if the latitude or the longitude is meant by the double parameter.

Definition at line 961 of file kexiv2gps.cpp.

QString KExiv2Iface::KExiv2::createExifUserStringFromValue ( const char *  exifTagName,
const QVariant val,
bool  escapeCR = true 
)

Takes a QVariant value as it could have been retrieved by getExifTagVariant with the given exifTagName, and returns its value properly converted to a string (including translations from Exiv2).

This is equivalent to calling getExifTagString directly. If escapeCR is true CR characters will be removed from the result.

Definition at line 598 of file kexiv2exif.cpp.

QString KExiv2Iface::KExiv2::detectLanguageAlt ( const QString value,
QString lang 
)
static

Language Alternative autodetection.

Return a QString without language alternative header. Header is saved into 'lang'. If no language alternative is founf, value is returned as well and 'lang' is set to a null string.

Definition at line 87 of file kexiv2comments.cpp.

QString KExiv2Iface::KExiv2::Exiv2Version ( )
static

Return a string version of Exiv2 release in format "major.minor.patch".

Definition at line 151 of file kexiv2.cpp.

QByteArray KExiv2Iface::KExiv2::getComments ( ) const

Return a Qt byte array copy of Comments container get from current image.

Comments are JFIF section of JPEG images. Look Exiv2 API for more information. Return a null Qt byte array if there is no Comments metadata in memory.

Definition at line 71 of file kexiv2comments.cpp.

QString KExiv2Iface::KExiv2::getCommentsDecoded ( ) const

Return a Qt string object of Comments from current image decoded using the 'detectEncodingAndDecode()' method.

Return a null string if there is no Comments metadata available.

Definition at line 76 of file kexiv2comments.cpp.

QDateTime KExiv2Iface::KExiv2::getDigitizationDateTime ( bool  fallbackToCreationTime = false) const

Return the digitization time stamp of the image.

First Exif information is checked, then IPTC. If no digitization time stamp is found, getImageDateTime() is called if fallbackToCreationTime is true, or a null QDateTime is returned if fallbackToCreationTime is false.

Definition at line 923 of file kexiv2image.cpp.

QString KExiv2Iface::KExiv2::getExifComment ( ) const

Return a QString copy of Exif user comments.

Return a null string if user comments cannot be found.

Definition at line 237 of file kexiv2exif.cpp.

QByteArray KExiv2Iface::KExiv2::getExifEncoded ( bool  addExifHeader = false) const

Returns the exif data encoded to a QByteArray in a form suitable for storage in a JPEG image.

Note that this encoding is a lossy operation.

Set true 'addExifHeader' parameter to add an Exif header to Exif metadata. Returns a null Qt byte array if there is no Exif metadata in memory.

Definition at line 97 of file kexiv2exif.cpp.

QByteArray KExiv2Iface::KExiv2::getExifTagData ( const char *  exifTagName) const

Get an Exif tag content like a bytes array.

Return an empty bytes array if Exif tag cannot be found.

Definition at line 714 of file kexiv2exif.cpp.

QString KExiv2Iface::KExiv2::getExifTagDescription ( const char *  exifTagName)

Return the Exif Tag description or a null string.

Definition at line 374 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::getExifTagLong ( const char *  exifTagName,
long &  val 
) const

Get an Exif tag content like a long value.

Return true if Exif tag be found.

Definition at line 683 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::getExifTagLong ( const char *  exifTagName,
long &  val,
int  component 
) const

Get an Exif tag content like a long value.

Return true if Exif tag be found.

Definition at line 688 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::getExifTagRational ( const char *  exifTagName,
long int &  num,
long int &  den,
int  component = 0 
) const

Get the 'component' index of an Exif tags content like a rational value.

'num' and 'den' are the numerator and the denominator of the rational value. Return true if Exif tag be found.

Definition at line 423 of file kexiv2exif.cpp.

KExiv2::MetaDataMap KExiv2Iface::KExiv2::getExifTagsDataList ( const QStringList exifKeysFilter = QStringList(),
bool  invertSelection = false 
) const

Return a map of Exif tags name/value found in metadata sorted by Exif keys given by 'exifKeysFilter'.

'exifKeysFilter' is a QStringList of Exif keys. For example, if you use the string list given below:

"Iop" "Thumbnail" "Image" "Photo"

List can be empty to not filter output.

... this method will return a map of all Exif tags witch :

  • include "Iop", or "Thumbnail", or "Image", or "Photo" in the Exif tag keys if 'inverSelection' is false.
  • not include "Iop", or "Thumbnail", or "Image", or "Photo" in the Exif tag keys if 'inverSelection' is true.

Definition at line 163 of file kexiv2exif.cpp.

QString KExiv2Iface::KExiv2::getExifTagString ( const char *  exifTagName,
bool  escapeCR = true 
) const

Get an Exif tags content like a string.

If 'escapeCR' parameter is true, the CR characters will be removed. If Exif tag cannot be found a null string is returned.

Definition at line 829 of file kexiv2exif.cpp.

QString KExiv2Iface::KExiv2::getExifTagTitle ( const char *  exifTagName)

Return the Exif Tag title or a null string.

Definition at line 353 of file kexiv2exif.cpp.

QVariant KExiv2Iface::KExiv2::getExifTagVariant ( const char *  exifTagName,
bool  rationalAsListOfInts = true,
bool  escapeCR = true,
int  component = 0 
) const

Get an Exif tags content as a QVariant.

Returns a null QVariant if the Exif tag cannot be found. For string and integer values the matching QVariant types will be used, for date and time values QVariant::DateTime. Rationals will be returned as QVariant::List with two integer QVariants (numerator, denominator) if rationalAsListOfInts is true, as double if rationalAsListOfInts is false. An exif tag of numerical type may contain more than one value; set component to the desired index.

Definition at line 744 of file kexiv2exif.cpp.

QImage KExiv2Iface::KExiv2::getExifThumbnail ( bool  fixOrientation) const

Return a QImage copy of Exif thumbnail image.

Return a null image if thumbnail cannot be found. The 'fixOrientation' parameter will rotate automatically the thumbnail if Exif orientation tags information are attached with thumbnail.

Definition at line 883 of file kexiv2exif.cpp.

QString KExiv2Iface::KExiv2::getFilePath ( ) const

Return the file path of current image.

Definition at line 474 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::getGPSAltitude ( double *const  altitude) const

Get GPS altitude information, in meters, relative to sea level (positive sign above sea level)

Definition at line 243 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::getGPSInfo ( double &  altitude,
double &  latitude,
double &  longitude 
) const

Get all GPS location information set in image.

Return true if all information can be found.

Definition at line 49 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::getGPSLatitudeNumber ( double *const  latitude) const

Get GPS location information set in the image, as a double floating point number as in degrees where the sign determines the direction ref (North + / South - ; East + / West -).

Returns true if the information is available.

Definition at line 64 of file kexiv2gps.cpp.

QString KExiv2Iface::KExiv2::getGPSLatitudeString ( ) const

Get GPS location information set in the image, in the GPSCoordinate format as described in the XMP specification.

Returns a null string in the information cannot be found.

Definition at line 317 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::getGPSLongitudeNumber ( double *const  longitude) const
Todo:
Decoding of latitude and longitude works in the same way, code here can be put in a separate function

Definition at line 147 of file kexiv2gps.cpp.

KExiv2::ImageColorWorkSpace KExiv2Iface::KExiv2::getImageColorWorkSpace ( ) const

Return the image color-space set in Exif metadata.

The makernotes of image are also parsed to get this information. See ImageColorWorkSpace values for details.

Definition at line 423 of file kexiv2image.cpp.

QDateTime KExiv2Iface::KExiv2::getImageDateTime ( ) const

Return the time stamp of image.

Exif information are check in first, IPTC in second if image don't have Exif information. If no time stamp is found, a null date is returned.

Definition at line 536 of file kexiv2image.cpp.

QSize KExiv2Iface::KExiv2::getImageDimensions ( ) const

Return the size of image in pixels using Exif tags.

Return a null dimmension if size cannot be found.

Definition at line 104 of file kexiv2image.cpp.

KExiv2::ImageOrientation KExiv2Iface::KExiv2::getImageOrientation ( ) const

Return the image orientation set in Exif metadata.

The makernotes of image are also parsed to get this information. See ImageOrientation values for details.

Definition at line 245 of file kexiv2image.cpp.

bool KExiv2Iface::KExiv2::getImagePreview ( QImage preview) const

Return a QImage copy of Iptc preview image.

Return a null image if preview cannot be found.

Definition at line 1039 of file kexiv2image.cpp.

QByteArray KExiv2Iface::KExiv2::getIptc ( bool  addIrbHeader = false) const

Return a Qt byte array copy of Iptc container get from current image.

Set true 'addIrbHeader' parameter to add an Irb header to Iptc metadata. Return a null Qt byte array if there is no Iptc metadata in memory.

Definition at line 85 of file kexiv2iptc.cpp.

QStringList KExiv2Iface::KExiv2::getIptcKeywords ( ) const

Return a strings list of Iptc keywords from image.

Return an empty list if no keyword are set.

Definition at line 557 of file kexiv2iptc.cpp.

QStringList KExiv2Iface::KExiv2::getIptcSubCategories ( ) const

Return a strings list of Iptc sub-categories from image.

Return an empty list if no sub-category are set.

Definition at line 752 of file kexiv2iptc.cpp.

QStringList KExiv2Iface::KExiv2::getIptcSubjects ( ) const

Return a strings list of Iptc subjects from image.

Return an empty list if no subject are set.

Definition at line 658 of file kexiv2iptc.cpp.

QByteArray KExiv2Iface::KExiv2::getIptcTagData ( const char *  iptcTagName) const

Get an Iptc tag content as a bytes array.

Return an empty bytes array if Iptc tag cannot be found.

Definition at line 366 of file kexiv2iptc.cpp.

QString KExiv2Iface::KExiv2::getIptcTagDescription ( const char *  iptcTagName)

Return the Iptc Tag description or a null string.

Definition at line 280 of file kexiv2iptc.cpp.

KExiv2::MetaDataMap KExiv2Iface::KExiv2::getIptcTagsDataList ( const QStringList iptcKeysFilter = QStringList(),
bool  invertSelection = false 
) const

Return a map of Iptc tags name/value found in metadata sorted by Iptc keys given by 'iptcKeysFilter'.

'iptcKeysFilter' is a QStringList of Iptc keys. For example, if you use the string list given below:

"Envelope" "Application2"

List can be empty to not filter output.

... this method will return a map of all Iptc tags witch :

  • include "Envelope", or "Application2" in the Iptc tag keys if 'inverSelection' is false.
  • not include "Envelope", or "Application2" in the Iptc tag keys if 'inverSelection' is true.

Definition at line 152 of file kexiv2iptc.cpp.

KExiv2::TagsMap KExiv2Iface::KExiv2::getIptcTagsList ( ) const

Return a map of all standard Iptc tags supported by Exiv2.

Definition at line 847 of file kexiv2iptc.cpp.

QStringList KExiv2Iface::KExiv2::getIptcTagsStringList ( const char *  iptcTagName,
bool  escapeCR = true 
) const

Returns a strings list with of multiple Iptc tags from the image.

Return an empty list if no tag is found. Get the values of all IPTC tags with the given tag name in a string list. (In Iptc, there can be multiple tags with the same name) If the 'escapeCR' parameter is true, the CR characters will be removed. If no tag can be found an empty list is returned.

Definition at line 452 of file kexiv2iptc.cpp.

QString KExiv2Iface::KExiv2::getIptcTagString ( const char *  iptcTagName,
bool  escapeCR = true 
) const

Get an Iptc tag content like a string.

If 'escapeCR' parameter is true, the CR characters will be removed. If Iptc tag cannot be found a null string is returned.

Definition at line 395 of file kexiv2iptc.cpp.

QString KExiv2Iface::KExiv2::getIptcTagTitle ( const char *  iptcTagName)

Return the Iptc Tag title or a null string.

Definition at line 260 of file kexiv2iptc.cpp.

KExiv2::TagsMap KExiv2Iface::KExiv2::getMakernoteTagsList ( ) const

Return a map of all non-standard Exif tags (makernotes) supported by Exiv2.

Definition at line 1112 of file kexiv2exif.cpp.

QString KExiv2Iface::KExiv2::getMimeType ( ) const

Returns the mime type of this image.

The information is read from the file; see the docs for getPixelSize() to know when it is available.

Definition at line 484 of file kexiv2.cpp.

QSize KExiv2Iface::KExiv2::getPixelSize ( ) const

Returns the pixel size of the current image.

This information is read from the file, not from the metadata. The returned QSize is valid if the KExiv2 object was constructed by reading a file or image data; the information is not available when the object was created from KExiv2Data. Note that in the Exif or XMP metadata, there may be fields describing the image size. These fields are not accessed by this method. When replacing the metadata with setData(), the metadata may change; this information always keeps referring to the file it was initially read from.

Definition at line 479 of file kexiv2.cpp.

KExiv2::TagsMap KExiv2Iface::KExiv2::getStdExifTagsList ( ) const

Return a map of all standard Exif tags supported by Exiv2.

Definition at line 1060 of file kexiv2exif.cpp.

QByteArray KExiv2Iface::KExiv2::getXmp ( ) const

Return a Qt byte array copy of XMp container get from current image.

Return a null Qt byte array if there is no Xmp metadata in memory.

Definition at line 104 of file kexiv2xmp.cpp.

QStringList KExiv2Iface::KExiv2::getXmpKeywords ( ) const

Return a strings list of Xmp keywords from image.

Return an empty list if no keyword are set.

Definition at line 1158 of file kexiv2xmp.cpp.

QStringList KExiv2Iface::KExiv2::getXmpSubCategories ( ) const

Return a strings list of Xmp sub-categories from image.

Return an empty list if no sub-category are set.

Definition at line 1173 of file kexiv2xmp.cpp.

QStringList KExiv2Iface::KExiv2::getXmpSubjects ( ) const

Return a strings list of Xmp subjects from image.

Return an empty list if no subject are set.

Definition at line 1188 of file kexiv2xmp.cpp.

QString KExiv2Iface::KExiv2::getXmpTagDescription ( const char *  xmpTagName)

Return the Xmp Tag description or a null string.

Definition at line 319 of file kexiv2xmp.cpp.

KExiv2::MetaDataMap KExiv2Iface::KExiv2::getXmpTagsDataList ( const QStringList xmpKeysFilter = QStringList(),
bool  invertSelection = false 
) const

Return a map of Xmp tags name/value found in metadata sorted by Xmp keys given by 'xmpKeysFilter'.

'xmpKeysFilter' is a QStringList of Xmp keys. For example, if you use the string list given below:

"dc" // Dubling Core schema. "xmp" // Standard Xmp schema.

List can be empty to not filter output.

... this method will return a map of all Xmp tags witch :

  • include "dc", or "xmp" in the Xmp tag keys if 'inverSelection' is false.
  • not include "dc", or "xmp" in the Xmp tag keys if 'inverSelection' is true.

Definition at line 174 of file kexiv2xmp.cpp.

KExiv2::TagsMap KExiv2Iface::KExiv2::getXmpTagsList ( ) const

Return a map of all standard Xmp tags supported by Exiv2.

Definition at line 1203 of file kexiv2xmp.cpp.

QString KExiv2Iface::KExiv2::getXmpTagString ( const char *  xmpTagName,
bool  escapeCR = true 
) const

Get a Xmp tag content like a string.

If 'escapeCR' parameter is true, the CR characters will be removed. If Xmp tag cannot be found a null string is returned.

Definition at line 346 of file kexiv2xmp.cpp.

QStringList KExiv2Iface::KExiv2::getXmpTagStringBag ( const char *  xmpTagName,
bool  escapeCR 
) const

Get a Xmp tag content like a bag of strings.

If 'escapeCR' parameter is true, the CR characters will be removed from strings. If Xmp tag cannot be found a null string list is returned.

Definition at line 790 of file kexiv2xmp.cpp.

QString KExiv2Iface::KExiv2::getXmpTagStringLangAlt ( const char *  xmpTagName,
const QString langAlt,
bool  escapeCR 
) const

Get a Xmp tag content like a string set with an alternative language header 'langAlt' (like "fr-FR" for French - RFC3066 notation) If 'escapeCR' parameter is true, the CR characters will be removed.

If Xmp tag cannot be found a null string is returned.

Definition at line 574 of file kexiv2xmp.cpp.

KExiv2::AltLangMap KExiv2Iface::KExiv2::getXmpTagStringListLangAlt ( const char *  xmpTagName,
bool  escapeCR = true 
) const

Get all redondant Alternative Language Xmp tags content like a map.

See AltLangMap class description for details. If 'escapeCR' parameter is true, the CR characters will be removed from strings. If Xmp tag cannot be found a null string list is returned.

Definition at line 473 of file kexiv2xmp.cpp.

QStringList KExiv2Iface::KExiv2::getXmpTagStringSeq ( const char *  xmpTagName,
bool  escapeCR = true 
) const

Get a Xmp tag content like a sequence of strings.

If 'escapeCR' parameter is true, the CR characters will be removed from strings. If Xmp tag cannot be found a null string list is returned.

Definition at line 689 of file kexiv2xmp.cpp.

QString KExiv2Iface::KExiv2::getXmpTagTitle ( const char *  xmpTagName)

Return the Xmp Tag title or a null string.

Definition at line 291 of file kexiv2xmp.cpp.

QVariant KExiv2Iface::KExiv2::getXmpTagVariant ( const char *  xmpTagName,
bool  rationalAsListOfInts = true,
bool  stringEscapeCR = true 
) const

Get an Xmp tag content as a QVariant.

Returns a null QVariant if the Xmp tag cannot be found. For string and integer values the matching QVariant types will be used, for date and time values QVariant::DateTime. Rationals will be returned as QVariant::List with two integer QVariants (numerator, denominator) if rationalAsListOfInts is true, as double if rationalAsListOfInts is false. Arrays (ordered, unordered, alternative) are returned as type StringList. LangAlt values will have type Map (QMap<QString, QVariant>) with the language code as key and the contents as value, of type String.

Definition at line 934 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::hasComments ( ) const

Return 'true' if metadata container in memory as Comments.

Definition at line 61 of file kexiv2comments.cpp.

bool KExiv2Iface::KExiv2::hasExif ( ) const

Return 'true' if metadata container in memory as Exif.

Definition at line 73 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::hasIptc ( ) const

Return 'true' if metadata container in memory as Iptc.

Definition at line 61 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::hasSidecar ( const QString path)
static

Performs a QFileInfo based check if the given local file has a sidecar.

Definition at line 194 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::hasXmp ( ) const

Return 'true' if metadata container in memory as Xmp.

Definition at line 68 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::initializeExiv2 ( )
static

Return true if Exiv2 library initialization is done properly.

This method must be called before using libkexiv2 with multithreading. It initialize several non re-entrancy code from Adobe XMP SDK See B.K.O #166424 for details. Call cleanupExiv2() to clean things up later.

Definition at line 76 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::initializeGPSInfo ( const bool  setProgramName)

Make sure all static required GPS EXIF and XMP tags exist.

Definition at line 337 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::isEmpty ( ) const

Return 'true' if metadata container in memory as no Comments, Exif, Iptc, and Xmp.

Definition at line 461 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::load ( const QString filePath) const
virtual

Load all metadata (Exif, Iptc, Xmp, and JFIF Comments) from a picture (JPEG, RAW, TIFF, PNG, DNG, etc...).

Return true if metadata have been loaded successfully from file.

Definition at line 273 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::loadFromData ( const QByteArray imgData) const

Load all metadata (Exif, Iptc, Xmp, and JFIF Comments) from a byte array.

Return true if metadata have been loaded successfully from image data.

Definition at line 222 of file kexiv2.cpp.

int KExiv2Iface::KExiv2::metadataWritingMode ( ) const

Return the metadata writing mode.

Returns
Metadata writing mode as defined by the MetadataWritingMode enum.
See also
MetadataWritingMode, setMetadataWritingMode()

Definition at line 514 of file kexiv2.cpp.

KExiv2 & KExiv2Iface::KExiv2::operator= ( const KExiv2 metadata)

Create a copy of container.

Definition at line 67 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::registerXmpNameSpace ( const QString uri,
const QString prefix 
)
static

Register a namespace which Exiv2 doesn't know yet.

This is only needed when new Xmp properties are added manually. 'uri' is the namespace url and prefix the string used to construct new Xmp key. NOTE: If the Xmp metadata is read from an image, namespaces are decoded and registered by Exiv2 at the same time.

Definition at line 1056 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::removeExifTag ( const char *  exifTagName,
bool  setProgramName = true 
) const

Remove the Exif tag 'exifTagName' from Exif metadata.

Return true if tag is removed successfully or if no tag was present.

Definition at line 395 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::removeExifThumbnail ( ) const

Remove the Exif Thumbnail from the image.

Definition at line 1039 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::removeFromXmpTagStringBag ( const char *  xmpTagName,
const QStringList entriesToRemove,
bool  setProgramName 
) const

Remove those Xmp tag entries that are listed in entriesToRemove from the entries in metadata.

Return true if tag entries are no longer contained in metadata. All other entries are preserved.

Definition at line 912 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::removeGPSInfo ( const bool  setProgramName = true)

Remove all Exif tags relevant of GPS location information.

Return true if all tags have been removed successfully in metadata.

Definition at line 520 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::removeIptcTag ( const char *  iptcTagName,
bool  setProgramName = true 
) const

Remove the all instance of Iptc tags 'iptcTagName' from Iptc metadata.

Return true if all tags have been removed successfully (or none were present).

Definition at line 300 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::removeXmpKeywords ( const QStringList keywordsToRemove,
bool  setProgramName = true 
)

Remove those Xmp keywords that are listed in keywordsToRemove from the keywords in metadata.

Return true if keywords are no longer contained in metadata.

Definition at line 1168 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::removeXmpSubCategories ( const QStringList categoriesToRemove,
bool  setProgramName = true 
)

Remove those Xmp sub-categories that are listed in categoriesToRemove from the sub-categories in metadata.

Return true if subjects are no longer contained in metadata.

Definition at line 1183 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::removeXmpSubjects ( const QStringList subjectsToRemove,
bool  setProgramName = true 
)

Remove those Xmp subjects that are listed in subjectsToRemove from the subjects in metadata.

Return true if subjects are no longer contained in metadata.

Definition at line 1198 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::removeXmpTag ( const char *  xmpTagName,
bool  setProgramName = true 
) const

Remove the Xmp tag 'xmpTagName' from Xmp metadata.

Return true if tag is removed successfully or if no tag was present.

Definition at line 1121 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::rotateExifQImage ( QImage image,
ImageOrientation  orientation 
) const

Fix orientation of a QImage image accordingly with Exif orientation tag.

Return true if image is rotated, else false.

Definition at line 931 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::save ( const QString filePath) const

Save all metadata to a file.

This one can be different than original picture to perform transfert operation Return true if metadata have been saved into file.

Definition at line 362 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::setComments ( const QByteArray data) const

Set the Comments data using a Qt byte array.

Return true if Comments metadata have been changed in memory.

Definition at line 81 of file kexiv2comments.cpp.

bool KExiv2Iface::KExiv2::setExif ( const QByteArray data) const

Set the Exif data using a Qt byte array.

Return true if Exif metadata have been changed in memory.

Definition at line 138 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::setExifComment ( const QString comment,
bool  setProgramName = true 
) const

Set the Exif user comments from image.

Look Exif specification for more details about this tag. Return true if Exif user comments have been changed in metadata.

Definition at line 304 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::setExifTagData ( const char *  exifTagName,
const QByteArray data,
bool  setProgramName = true 
) const

Set an Exif tag content using a bytes array.

Return true if tag is set successfully.

Definition at line 495 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::setExifTagLong ( const char *  exifTagName,
long  val,
bool  setProgramName = true 
) const

Set an Exif tag content using a long value.

Return true if tag is set successfully.

Definition at line 451 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::setExifTagRational ( const char *  exifTagName,
long int  num,
long int  den,
bool  setProgramName = true 
) const

Set an Exif tag content using a rational value.

'num' and 'den' are the numerator and the denominator of the rational value. Return true if tag is set successfully.

Definition at line 473 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::setExifTagString ( const char *  exifTagName,
const QString value,
bool  setProgramName = true 
) const

Set an Exif tag content using a string.

Return true if tag is set successfully.

Definition at line 861 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::setExifTagVariant ( const char *  exifTagName,
const QVariant data,
bool  rationalWantSmallDenominator = true,
bool  setProgramName = true 
) const

Set an Exif tag content using a QVariant.

Returns true if tag is set successfully. All types described for the getExifTagVariant() method are supported. Calling with a QVariant of type ByteArray is equivalent to calling setExifTagData. For the meaning of rationalWantSmallDenominator, see the documentation of the convertToRational methods. Setting a value with multiple components is currently not supported.

Definition at line 521 of file kexiv2exif.cpp.

bool KExiv2Iface::KExiv2::setExifThumbnail ( const QImage thumb,
bool  setProgramName = true 
) const

Set the Exif Thumbnail image.

The thumbnail image must have the right dimensions before. Look Exif specification for details. Return true if thumbnail have been changed in metadata.

Definition at line 944 of file kexiv2exif.cpp.

void KExiv2Iface::KExiv2::setFilePath ( const QString path)

Set the file path of current image.

Definition at line 469 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::setGPSInfo ( const double  altitude,
const double  latitude,
const double  longitude,
const bool  setProgramName = true 
)

Set all GPS location information into image.

Return true if all information have been changed in metadata.

Definition at line 375 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::setGPSInfo ( const double *const  altitude,
const double  latitude,
const double  longitude,
const bool  setProgramName = true 
)

Set all GPS location information into image.

Return true if all information have been changed in metadata. If you do not want altitude to be set, pass a null pointer.

Definition at line 380 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::setGPSInfo ( const double  altitude,
const QString latitude,
const QString longitude,
const bool  setProgramName = true 
)

Set all GPS location information into image.

Return true if all information have been changed in metadata.

Definition at line 507 of file kexiv2gps.cpp.

bool KExiv2Iface::KExiv2::setImageColorWorkSpace ( ImageColorWorkSpace  workspace,
bool  setProgramName = true 
) const

Set the Exif color-space tag of image.

See ImageColorWorkSpace values for details Return true if work-space have been changed in metadata.

Definition at line 503 of file kexiv2image.cpp.

bool KExiv2Iface::KExiv2::setImageDateTime ( const QDateTime dateTime,
bool  setDateTimeDigitized = false,
bool  setProgramName = true 
) const

Set the Exif and Iptc time stamp.

If 'setDateTimeDigitized' parameter is true, the 'Digitalized' time stamp is set, else only 'Created' time stamp is set.

Definition at line 842 of file kexiv2image.cpp.

bool KExiv2Iface::KExiv2::setImageDimensions ( const QSize size,
bool  setProgramName = true 
) const

Set the size of image in pixels in Exif tags.

Return true if size have been changed in metadata.

Definition at line 205 of file kexiv2image.cpp.

bool KExiv2Iface::KExiv2::setImageOrientation ( ImageOrientation  orientation,
bool  setProgramName = true 
) const

Set the Exif orientation tag of image.

See ImageOrientation values for details Return true if orientation have been changed in metadata.

Definition at line 346 of file kexiv2image.cpp.

bool KExiv2Iface::KExiv2::setImagePreview ( const QImage preview,
bool  setProgramName = true 
) const
virtual

Set the Iptc preview image.

The thumbnail image must have the right size before (64Kb max with JPEG file, else 256Kb). Look Iptc specification for details. Return true if preview have been changed in metadata. Re-implemente this method if you want to use another image file format than JPEG to save preview.

Definition at line 1061 of file kexiv2image.cpp.

bool KExiv2Iface::KExiv2::setImageProgramId ( const QString program,
const QString version 
) const

Set Program name and program version in Exif and Iptc Metadata.

Return true if information have been changed in metadata.

Definition at line 43 of file kexiv2image.cpp.

bool KExiv2Iface::KExiv2::setIptc ( const QByteArray data) const

Set the Iptc data using a Qt byte array.

Return true if Iptc metadata have been changed in memory.

Definition at line 125 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::setIptcKeywords ( const QStringList oldKeywords,
const QStringList newKeywords,
bool  setProgramName = true 
) const

Set Iptc keywords using a list of strings defined by 'newKeywords' parameter.

Use 'getImageKeywords()' method to set 'oldKeywords' parameter with existing keywords from image. The method will compare all new keywords with all old keywords to prevent duplicate entries in image. Return true if keywords have been changed in metadata.

Definition at line 594 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::setIptcSubCategories ( const QStringList oldSubCategories,
const QStringList newSubCategories,
bool  setProgramName = true 
) const

Set Iptc sub-categories using a list of strings defined by 'newSubCategories' parameter.

Use 'getImageSubCategories()' method to set 'oldSubCategories' parameter with existing sub-categories from image. The method will compare all new sub-categories with all old sub-categories to prevent duplicate entries in image. Return true if sub-categories have been changed in metadata.

Definition at line 787 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::setIptcSubjects ( const QStringList oldSubjects,
const QStringList newSubjects,
bool  setProgramName = true 
) const

Set Iptc subjects using a list of strings defined by 'newSubjects' parameter.

Use 'getImageSubjects()' method to set 'oldSubjects' parameter with existing subjects from image. The method will compare all new subjects with all old subjects to prevent duplicate entries in image. Return true if subjects have been changed in metadata.

Definition at line 693 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::setIptcTagData ( const char *  iptcTagName,
const QByteArray data,
bool  setProgramName = true 
) const

Set an Iptc tag content using a bytes array.

Return true if tag is set successfully.

Definition at line 340 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::setIptcTagsStringList ( const char *  iptcTagName,
int  maxSize,
const QStringList oldValues,
const QStringList newValues,
bool  setProgramName = true 
) const

Set multiple Iptc tags contents using a strings list.

'maxSize' is the max characters size of one entry. Return true if all tags have been set successfully.

Definition at line 491 of file kexiv2iptc.cpp.

bool KExiv2Iface::KExiv2::setIptcTagString ( const char *  iptcTagName,
const QString value,
bool  setProgramName = true 
) const

Set an Iptc tag content using a string.

Return true if tag is set successfully.

Definition at line 427 of file kexiv2iptc.cpp.

void KExiv2Iface::KExiv2::setMetadataWritingMode ( const int  mode)

Set metadata writing mode.

Parameters
modeMetadata writing mode as defined by the MetadataWritingMode enum.
See also
MetadataWritingMode, metadataWritingMode()

Definition at line 509 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::setProgramId ( bool  on = true) const
protectedvirtual

Re-implement this method to set automatically the Program Name and Program Version information in Exif and Iptc metadata if 'on' argument is true.

This method is called by all methods which change tags in metadata. By default this method does nothing and returns true.

Definition at line 529 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::setTiffThumbnail ( const QImage thumb,
bool  setProgramName = true 
) const

Adds a JPEG thumbnail to a TIFF images.

Use this instead of setExifThumbnail for TIFF images.

Definition at line 976 of file kexiv2exif.cpp.

void KExiv2Iface::KExiv2::setUpdateFileTimeStamp ( bool  on)

Enable or disable file timestamp updating when metadata are saved.

By default files timestamp are untouched.

Definition at line 519 of file kexiv2.cpp.

void KExiv2Iface::KExiv2::setUseXMPSidecar4Reading ( const bool  on)

Enable or disable using XMP sidecar for reading metadata.

Definition at line 499 of file kexiv2.cpp.

void KExiv2Iface::KExiv2::setWriteRawFiles ( const bool  on)

Enable or disable writing metadata operations to RAW tiff based files.

It requires Exiv2 0.18. By default RAW files are untouched.

Definition at line 489 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::setXmp ( const QByteArray data) const

Set the Xmp data using a Qt byte array.

Return true if Xmp metadata have been changed in memory.

Definition at line 136 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpKeywords ( const QStringList newKeywords,
bool  setProgramName = true 
) const

Set Xmp keywords using a list of strings defined by 'newKeywords' parameter.

The existing keywords from image are preserved. The method will compare all new keywords with all already existing keywords to prevent duplicate entries in image. Return true if keywords have been changed in metadata.

Definition at line 1163 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpSubCategories ( const QStringList newSubCategories,
bool  setProgramName = true 
) const

Set Xmp sub-categories using a list of strings defined by 'newSubCategories' parameter.

The existing sub-categories from image are preserved. The method will compare all new sub-categories with all already existing sub-categories to prevent duplicate entries in image. Return true if sub-categories have been changed in metadata.

Definition at line 1178 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpSubjects ( const QStringList newSubjects,
bool  setProgramName = true 
) const

Set Xmp subjects using a list of strings defined by 'newSubjects' parameter.

The existing subjects from image are preserved. The method will compare all new subject with all already existing subject to prevent duplicate entries in image. Return true if subjects have been changed in metadata.

Definition at line 1193 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpTagString ( const char *  xmpTagName,
const QString value,
bool  setProgramName = true 
) const

Set a Xmp tag content using a string.

Return true if tag is set successfully.

Definition at line 387 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpTagString ( const char *  xmpTagName,
const QString value,
KExiv2::XmpTagType  type,
bool  setProgramName = true 
) const

Set a Xmp tag with a specific type.

Return true if tag is set successfully. This method only accept NormalTag, ArrayBagTag and StructureTag. Other XmpTagTypes do nothing

Definition at line 421 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpTagStringBag ( const char *  xmpTagName,
const QStringList bag,
bool  setProgramName = true 
) const

Set a Xmp tag content using the bag of strings 'bag'.

Return true if tag is set successfully.

Definition at line 841 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpTagStringLangAlt ( const char *  xmpTagName,
const QString value,
const QString langAlt,
bool  setProgramName = true 
) const

Set a Xmp tag content using a string with an alternative language header.

'langAlt' contain the language alternative information (like "fr-FR" for French - RFC3066 notation) or is null to set alternative language to default settings ("x-default"). Return true if tag is set successfully.

Definition at line 626 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpTagStringListLangAlt ( const char *  xmpTagName,
const KExiv2::AltLangMap values,
bool  setProgramName 
) const

Set an Alternative Language Xmp tag content using a map.

See AltLangMap class description for details. If tag already exist, it wil be removed before. Return true if tag is set successfully.

Definition at line 523 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::setXmpTagStringSeq ( const char *  xmpTagName,
const QStringList seq,
bool  setProgramName = true 
) const

Set a Xmp tag content using the sequence of strings 'seq'.

Return true if tag is set successfully.

Definition at line 741 of file kexiv2xmp.cpp.

QString KExiv2Iface::KExiv2::sidecarFilePathForFile ( const QString path)
static

Return the XMP Sidecar file path for a image file path.

If image file path do not include a file name or is empty, this function return a null string.

Definition at line 164 of file kexiv2.cpp.

QString KExiv2Iface::KExiv2::sidecarPath ( const QString path)
static

Like sidecarFilePathForFile(), but works for local file path.

Definition at line 189 of file kexiv2.cpp.

QUrl KExiv2Iface::KExiv2::sidecarUrl ( const QUrl url)
static

Like sidecarFilePathForFile(), but works for remote URLs.

Definition at line 176 of file kexiv2.cpp.

QUrl KExiv2Iface::KExiv2::sidecarUrl ( const QString path)
static

Gives a file url for a local path.

Definition at line 184 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::supportMetadataWritting ( const QString typeMime)
static

Return true if library can write metadata to typeMime file format.

Definition at line 121 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::supportXmp ( )
static

Return true if library can handle Xmp metadata.

Definition at line 112 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::unregisterXmpNameSpace ( const QString uri)
static

Unregister a previously registered custom namespace.

Definition at line 1089 of file kexiv2xmp.cpp.

bool KExiv2Iface::KExiv2::updateFileTimeStamp ( ) const

Return true if file timestamp is updated when metadata are saved.

Definition at line 524 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::useXMPSidecar4Reading ( ) const

Return true if using XMP sidecar for reading metadata is enabled.

Definition at line 504 of file kexiv2.cpp.

QString KExiv2Iface::KExiv2::version ( )
static

Return a string version of libkexiv2 release.

Definition at line 159 of file kexiv2.cpp.

bool KExiv2Iface::KExiv2::writeRawFiles ( ) const

Return true if writing metadata operations on RAW tiff based files is enabled.

It's require Exiv2 0.18.

Definition at line 494 of file kexiv2.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Thu Dec 3 2020 22:36:58 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.