KExiv2Iface::KExiv2 Class
class KExiv2Iface::KExiv2| Header: | #include <KExiv2/KExiv2> |
| CMake: | find_package(KExiv2Qt6 REQUIRED)target_link_libraries(mytarget PRIVATE KExiv2Qt6) |
Public Types
| AltLangMap | |
| enum | ImageColorWorkSpace { WORKSPACE_UNSPECIFIED, WORKSPACE_SRGB, WORKSPACE_ADOBERGB, WORKSPACE_UNCALIBRATED } |
| enum | ImageOrientation { ORIENTATION_UNSPECIFIED, ORIENTATION_NORMAL, ORIENTATION_HFLIP, ORIENTATION_ROT_180, ORIENTATION_VFLIP, …, ORIENTATION_ROT_270 } |
| MetaDataMap | |
| enum | MetadataWritingMode { WRITETOIMAGEONLY, WRITETOSIDECARONLY, WRITETOSIDECARANDIMAGE, WRITETOSIDECARONLY4READONLYFILES } |
| TagsMap | |
| enum | XmpTagType { NormalTag, ArrayBagTag, StructureTag, ArrayLangTag, ArraySeqTag } |
Public Functions
| KExiv2() | |
| KExiv2(const KExiv2Iface::KExiv2Data &data) | |
| KExiv2(const QString &filePath) | |
| KExiv2(const KExiv2Iface::KExiv2 &metadata) | |
| virtual | ~KExiv2() |
| bool | addToXmpTagStringBag(const char *xmpTagName, const QStringList &entriesToAdd, bool setProgramName) const |
| bool | applyChanges() const |
| bool | clearComments() const |
| bool | clearExif() const |
| bool | clearIptc() const |
| bool | clearXmp() const |
| QString | createExifUserStringFromValue(const char *exifTagName, const QVariant &val, bool escapeCR = true) |
| KExiv2Iface::KExiv2Data | data() const |
| QByteArray | getComments() const |
| QString | getCommentsDecoded() const |
| QDateTime | getDigitizationDateTime(bool fallbackToCreationTime = false) const |
| QString | getExifComment() const |
| QByteArray | getExifEncoded(bool addExifHeader = false) const |
| QByteArray | getExifTagData(const char *exifTagName) const |
| QString | getExifTagDescription(const char *exifTagName) |
| bool | getExifTagLong(const char *exifTagName, long &val) const |
| bool | getExifTagLong(const char *exifTagName, long &val, int component) const |
| bool | getExifTagRational(const char *exifTagName, long &num, long &den, int component = 0) const |
| QString | getExifTagString(const char *exifTagName, bool escapeCR = true) const |
| QString | getExifTagTitle(const char *exifTagName) |
| QVariant | getExifTagVariant(const char *exifTagName, bool rationalAsListOfInts = true, bool escapeCR = true, int component = 0) const |
| KExiv2Iface::KExiv2::MetaDataMap | getExifTagsDataList(const QStringList &exifKeysFilter = QStringList(), bool invertSelection = false) const |
| QImage | getExifThumbnail(bool fixOrientation) const |
| QString | getFilePath() const |
| bool | getGPSAltitude(double *const altitude) const |
| bool | getGPSInfo(double &altitude, double &latitude, double &longitude) const |
| bool | getGPSLatitudeNumber(double *const latitude) const |
| QString | getGPSLatitudeString() const |
| bool | getGPSLongitudeNumber(double *const longitude) const |
| QString | getGPSLongitudeString() const |
| KExiv2Iface::KExiv2::ImageColorWorkSpace | getImageColorWorkSpace() const |
| QDateTime | getImageDateTime() const |
| QSize | getImageDimensions() const |
| KExiv2Iface::KExiv2::ImageOrientation | getImageOrientation() const |
| bool | getImagePreview(QImage &preview) const |
| QByteArray | getIptc(bool addIrbHeader = false) const |
| QStringList | getIptcKeywords() const |
| QStringList | getIptcSubCategories() const |
| QStringList | getIptcSubjects() const |
| QByteArray | getIptcTagData(const char *iptcTagName) const |
| QString | getIptcTagDescription(const char *iptcTagName) |
| QString | getIptcTagString(const char *iptcTagName, bool escapeCR = true) const |
| QString | getIptcTagTitle(const char *iptcTagName) |
| KExiv2Iface::KExiv2::MetaDataMap | getIptcTagsDataList(const QStringList &iptcKeysFilter = QStringList(), bool invertSelection = false) const |
| KExiv2Iface::KExiv2::TagsMap | getIptcTagsList() const |
| QStringList | getIptcTagsStringList(const char *iptcTagName, bool escapeCR = true) const |
| KExiv2Iface::KExiv2::TagsMap | getMakernoteTagsList() const |
| QString | getMimeType() const |
| QSize | getPixelSize() const |
| KExiv2Iface::KExiv2::TagsMap | getStdExifTagsList() const |
| QByteArray | getXmp() const |
| QStringList | getXmpKeywords() const |
| QStringList | getXmpSubCategories() const |
| QStringList | getXmpSubjects() const |
| QString | getXmpTagDescription(const char *xmpTagName) |
| QString | getXmpTagString(const char *xmpTagName, bool escapeCR = true) const |
| QStringList | getXmpTagStringBag(const char *xmpTagName, bool escapeCR) const |
| QString | getXmpTagStringLangAlt(const char *xmpTagName, const QString &langAlt, bool escapeCR) const |
| KExiv2Iface::KExiv2::AltLangMap | getXmpTagStringListLangAlt(const char *xmpTagName, bool escapeCR = true) const |
| QStringList | getXmpTagStringSeq(const char *xmpTagName, bool escapeCR = true) const |
| QString | getXmpTagTitle(const char *xmpTagName) |
| QVariant | getXmpTagVariant(const char *xmpTagName, bool rationalAsListOfInts = true, bool stringEscapeCR = true) const |
| KExiv2Iface::KExiv2::MetaDataMap | getXmpTagsDataList(const QStringList &xmpKeysFilter = QStringList(), bool invertSelection = false) const |
| KExiv2Iface::KExiv2::TagsMap | getXmpTagsList() const |
| bool | hasComments() const |
| bool | hasExif() const |
| bool | hasIptc() const |
| bool | hasXmp() const |
| bool | initializeGPSInfo(const bool setProgramName) |
| bool | isEmpty() const |
| virtual bool | load(const QString &filePath) const |
| bool | loadFromData(const QByteArray &imgData) const |
| int | metadataWritingMode() const |
| bool | removeExifTag(const char *exifTagName, bool setProgramName = true) const |
| bool | removeExifThumbnail() const |
| bool | removeFromXmpTagStringBag(const char *xmpTagName, const QStringList &entriesToRemove, bool setProgramName) const |
| bool | removeGPSInfo(const bool setProgramName = true) |
| bool | removeIptcTag(const char *iptcTagName, bool setProgramName = true) const |
| bool | removeXmpKeywords(const QStringList &keywordsToRemove, bool setProgramName = true) |
| bool | removeXmpSubCategories(const QStringList &categoriesToRemove, bool setProgramName = true) |
| bool | removeXmpSubjects(const QStringList &subjectsToRemove, bool setProgramName = true) |
| bool | removeXmpTag(const char *xmpTagName, bool setProgramName = true) const |
| bool | rotateExifQImage(QImage &image, KExiv2Iface::KExiv2::ImageOrientation orientation) const |
| bool | save(const QString &filePath) const |
| bool | setComments(const QByteArray &data) const |
| void | setData(const KExiv2Iface::KExiv2Data &data) |
| bool | setExif(const QByteArray &data) const |
| bool | setExifComment(const QString &comment, bool setProgramName = true) const |
| bool | setExifTagData(const char *exifTagName, const QByteArray &data, bool setProgramName = true) const |
| bool | setExifTagLong(const char *exifTagName, long val, bool setProgramName = true) const |
| bool | setExifTagRational(const char *exifTagName, long num, long den, bool setProgramName = true) const |
| bool | setExifTagString(const char *exifTagName, const QString &value, bool setProgramName = true) const |
| bool | setExifTagVariant(const char *exifTagName, const QVariant &data, bool rationalWantSmallDenominator = true, bool setProgramName = true) const |
| bool | setExifThumbnail(const QImage &thumb, bool setProgramName = true) const |
| void | setFilePath(const QString &path) |
| bool | setGPSInfo(const double altitude, const QString &latitude, const QString &longitude, const bool setProgramName = true) |
| 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 | setImageColorWorkSpace(KExiv2Iface::KExiv2::ImageColorWorkSpace workspace, bool setProgramName = true) const |
| bool | setImageDateTime(const QDateTime &dateTime, bool setDateTimeDigitized = false, bool setProgramName = true) const |
| bool | setImageDimensions(const QSize &size, bool setProgramName = true) const |
| bool | setImageOrientation(KExiv2Iface::KExiv2::ImageOrientation orientation, bool setProgramName = true) const |
| virtual bool | setImagePreview(const QImage &preview, bool setProgramName = true) const |
| bool | setImageProgramId(const QString &program, const QString &version) const |
| bool | setIptc(const QByteArray &data) const |
| bool | setIptcKeywords(const QStringList &oldKeywords, const QStringList &newKeywords, bool setProgramName = true) const |
| bool | setIptcSubCategories(const QStringList &oldSubCategories, const QStringList &newSubCategories, bool setProgramName = true) const |
| bool | setIptcSubjects(const QStringList &oldSubjects, const QStringList &newSubjects, bool setProgramName = true) const |
| bool | setIptcTagData(const char *iptcTagName, const QByteArray &data, bool setProgramName = true) const |
| bool | setIptcTagString(const char *iptcTagName, const QString &value, bool setProgramName = true) const |
| bool | setIptcTagsStringList(const char *iptcTagName, int maxSize, const QStringList &oldValues, const QStringList &newValues, bool setProgramName = true) const |
| void | setMetadataWritingMode(const int mode) |
| bool | setTiffThumbnail(const QImage &thumb, bool setProgramName = true) const |
| void | setUpdateFileTimeStamp(bool on) |
| void | setUseXMPSidecar4Reading(const bool on) |
| void | setWriteRawFiles(const bool on) |
| bool | setXmp(const QByteArray &data) const |
| bool | setXmpKeywords(const QStringList &newKeywords, bool setProgramName = true) const |
| bool | setXmpSubCategories(const QStringList &newSubCategories, bool setProgramName = true) const |
| bool | setXmpSubjects(const QStringList &newSubjects, bool setProgramName = true) const |
| bool | setXmpTagString(const char *xmpTagName, const QString &value, bool setProgramName = true) const |
| bool | setXmpTagString(const char *xmpTagName, const QString &value, KExiv2Iface::KExiv2::XmpTagType type, bool setProgramName = true) const |
| bool | setXmpTagStringBag(const char *xmpTagName, const QStringList &bag, bool setProgramName = true) const |
| bool | setXmpTagStringLangAlt(const char *xmpTagName, const QString &value, const QString &langAlt, bool setProgramName = true) const |
| bool | setXmpTagStringListLangAlt(const char *xmpTagName, const KExiv2Iface::KExiv2::AltLangMap &values, bool setProgramName) const |
| bool | setXmpTagStringSeq(const char *xmpTagName, const QStringList &seq, bool setProgramName = true) const |
| bool | updateFileTimeStamp() const |
| bool | useXMPSidecar4Reading() const |
| bool | writeRawFiles() const |
| KExiv2Iface::KExiv2 & | operator=(const KExiv2Iface::KExiv2 &metadata) |
Static Public Members
| QString | Exiv2Version() |
| bool | canWriteComment(const QString &filePath) |
| bool | canWriteExif(const QString &filePath) |
| bool | canWriteIptc(const QString &filePath) |
| bool | canWriteXmp(const QString &filePath) |
| bool | cleanupExiv2() |
| bool | convertFromGPSCoordinateString(const QString &gpsString, double *const coordinate) |
| bool | convertFromGPSCoordinateString(const QString &coordinate, long *const numeratorDegrees, long *const denominatorDegrees, long *const numeratorMinutes, long *const denominatorMinutes, long *const numeratorSeconds, long *const denominatorSeconds, char *const directionReference) |
| QString | convertToGPSCoordinateString(const bool isLatitude, double coordinate) |
| QString | convertToGPSCoordinateString(const long numeratorDegrees, const long denominatorDegrees, const long numeratorMinutes, const long denominatorMinutes, const long numeratorSeconds, long denominatorSeconds, const char directionReference) |
| void | convertToRational(const double number, long *const numerator, long *const denominator, const int rounding) |
| void | convertToRationalSmallDenominator(const double number, long *const numerator, long *const denominator) |
| bool | convertToUserPresentableNumbers(const QString &coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference) |
| void | convertToUserPresentableNumbers(const bool isLatitude, double coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference) |
| QString | detectLanguageAlt(const QString &value, QString &lang) |
| bool | hasSidecar(const QString &path) |
| bool | initializeExiv2() |
| bool | registerXmpNameSpace(const QString &uri, const QString &prefix) |
| QString | sidecarFilePathForFile(const QString &path) |
| QString | sidecarPath(const QString &path) |
| QUrl | sidecarUrl(const QString &path) |
| QUrl | sidecarUrl(const QUrl &url) |
| bool | supportMetadataWritting(const QString &typeMime) |
| bool | supportXmp() |
| bool | unregisterXmpNameSpace(const QString &uri) |
| QString | version() |
Protected Functions
| virtual bool | setProgramId(bool on = true) const |
Detailed Description
Member Type Documentation
KExiv2::AltLangMap
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.
enum KExiv2::ImageColorWorkSpace
The image color workspace values given by Exif metadata.
| Constant | Value |
|---|---|
KExiv2Iface::KExiv2::WORKSPACE_UNSPECIFIED | 0 |
KExiv2Iface::KExiv2::WORKSPACE_SRGB | 1 |
KExiv2Iface::KExiv2::WORKSPACE_ADOBERGB | 2 |
KExiv2Iface::KExiv2::WORKSPACE_UNCALIBRATED | 65535 |
enum KExiv2::ImageOrientation
The image orientation values given by Exif metadata.
| Constant | Value |
|---|---|
KExiv2Iface::KExiv2::ORIENTATION_UNSPECIFIED | 0 |
KExiv2Iface::KExiv2::ORIENTATION_NORMAL | 1 |
KExiv2Iface::KExiv2::ORIENTATION_HFLIP | 2 |
KExiv2Iface::KExiv2::ORIENTATION_ROT_180 | 3 |
KExiv2Iface::KExiv2::ORIENTATION_VFLIP | 4 |
KExiv2Iface::KExiv2::ORIENTATION_ROT_90_HFLIP | 5 |
KExiv2Iface::KExiv2::ORIENTATION_ROT_90 | 6 |
KExiv2Iface::KExiv2::ORIENTATION_ROT_90_VFLIP | 7 |
KExiv2Iface::KExiv2::ORIENTATION_ROT_270 | 8 |
KExiv2::MetaDataMap
A map used to store Tags Key and Tags Value.
enum KExiv2::MetadataWritingMode
The image metadata writing mode, between image file metadata and XMP sidecar file, depending on the context.
| Constant | Value | Description |
|---|---|---|
KExiv2Iface::KExiv2::WRITETOIMAGEONLY | 0 | Write metadata to image file only. |
KExiv2Iface::KExiv2::WRITETOSIDECARONLY | 1 | Write metadata to sidecar file only. |
KExiv2Iface::KExiv2::WRITETOSIDECARANDIMAGE | 2 | Write metadata to image and sidecar files. |
KExiv2Iface::KExiv2::WRITETOSIDECARONLY4READONLYFILES | 3 | Write metadata to sidecar file only for read only images such as RAW files for example. |
See also metadataWritingMode().
KExiv2::TagsMap
A map used to store Tags Key and a list of Tags properties:
- name
- title
- description
enum KExiv2::XmpTagType
Xmp tag types, used by setXmpTag, only first three types are used.
| Constant | Value |
|---|---|
KExiv2Iface::KExiv2::NormalTag | 0 |
KExiv2Iface::KExiv2::ArrayBagTag | 1 |
KExiv2Iface::KExiv2::StructureTag | 2 |
KExiv2Iface::KExiv2::ArrayLangTag | 3 |
KExiv2Iface::KExiv2::ArraySeqTag | 4 |
Member Function Documentation
KExiv2::KExiv2()
Standard constructor.
KExiv2::KExiv2(const KExiv2Iface::KExiv2Data &data)
Constructor to load from parsed data.
KExiv2::KExiv2(const QString &filePath)
Contructor to load metadata from an image in filePath.
KExiv2::KExiv2(const KExiv2Iface::KExiv2 &metadata)
Copy constructor.
[virtual noexcept] KExiv2::~KExiv2()
Standard destructor.
[static] QString KExiv2::Exiv2Version()
Returns a string version of Exiv2 release in format "major.minor.patch".
bool KExiv2::addToXmpTagStringBag(const char *xmpTagName, const QStringList &entriesToAdd, bool setProgramName) const
Sets an XMP tag content xmpTagName using a list of strings defined by the entriesToAdd.
The existing entries are preserved.
This method will compare all new entries with all already existing entries to prevent duplicates in the image.
Returns true if the entries have been added to metadata.
bool KExiv2::applyChanges() const
The same as save(), but it applies to the current image.
Returns true if the metadata has been saved into file.
[static] bool KExiv2::canWriteComment(const QString &filePath)
Returns true if Comments can be written in file in the given filePath.
[static] bool KExiv2::canWriteExif(const QString &filePath)
Returns true if Exif can be written to the file in the given filePath.
[static] bool KExiv2::canWriteIptc(const QString &filePath)
Returns true if IPTC can be written to file in the given filePath.
[static] bool KExiv2::canWriteXmp(const QString &filePath)
Returns true if XMP can be written to file in filePath.
[static] bool KExiv2::cleanupExiv2()
Returns 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.
bool KExiv2::clearComments() const
Clears the Comments metadata container in memory.
bool KExiv2::clearExif() const
Clears the Exif metadata container in memory.
bool KExiv2::clearIptc() const
Clears the IPTC metadata container in memory.
bool KExiv2::clearXmp() const
Clears the XMP metadata container in memory.
[static] bool KExiv2::convertFromGPSCoordinateString(const QString &gpsString, double *const coordinate)
Converts 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.
[static] bool KExiv2::convertFromGPSCoordinateString(const QString &coordinate, long *const numeratorDegrees, long *const denominatorDegrees, long *const numeratorMinutes, long *const denominatorMinutes, long *const numeratorSeconds, long *const denominatorSeconds, char *const directionReference)
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.
[static] QString KExiv2::convertToGPSCoordinateString(const bool isLatitude, double coordinate)
Converts a GPS position stored as double floating point number in degrees to the form described as GPSCoordinate in the XMP specification.
[static] QString KExiv2::convertToGPSCoordinateString(const long numeratorDegrees, const long denominatorDegrees, const long numeratorMinutes, const long denominatorMinutes, const long numeratorSeconds, long denominatorSeconds, const char directionReference)
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"
[static] void KExiv2::convertToRational(const double number, long *const numerator, long *const denominator, const int rounding)
Converts number to a rational value, returned in the numerator and denominator parameters.
Set the precision using the rounding parameter.
Use this method if you want to retrieve a most exact rational for a number without further properties, without any requirements for the denominator.
[static] void KExiv2::convertToRationalSmallDenominator(const double number, long *const numerator, long *const denominator)
Converts a number to a rational value, returned in the 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 convertToRational() which is just as exact with rounding = 4 and more exact with rounding > 4.
[static] bool KExiv2::convertToUserPresentableNumbers(const QString &coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference)
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').
[static] void KExiv2::convertToUserPresentableNumbers(const bool isLatitude, double coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference)
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').
This method needs to know for the direction reference if the latitude or the longitude is meant by the double parameter.
QString KExiv2::createExifUserStringFromValue(const char *exifTagName, const QVariant &val, bool escapeCR = true)
Takes a QVariant value val 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.
KExiv2Iface::KExiv2Data KExiv2::data() const
See also setData().
[static] QString KExiv2::detectLanguageAlt(const QString &value, QString &lang)
Language Alternative autodetection.
Returns a QString without language alternative header.
Header is saved into lang. If no language alternative is found, value is returned as well and lang is set to a null string.
QByteArray KExiv2::getComments() const
Returns a Qt byte array copy of Comments container acquired from the current image.
Comments are a JFIF section of JPEG images.
Look at the Exiv2 API for more information.
Returns a null Qt byte array if there is no Comments metadata in memory.
QString KExiv2::getCommentsDecoded() const
Returns a Qt string object of Comments from the current image decoded using detectEncodingAndDecode().
Returns a null string if there is no Comments metadata available.
QDateTime KExiv2::getDigitizationDateTime(bool fallbackToCreationTime = false) const
Returns the digitization timestamp of the image.
First Exif information is checked, then IPTC.
If no digitization timestamp is found, getImageDateTime() is called if fallbackToCreationTime is true, or a null QDateTime is returned if fallbackToCreationTime is false.
QString KExiv2::getExifComment() const
Returns a QString copy of Exif user comments.
Returns a null string if user comments cannot be found.
QByteArray 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: This encoding is a lossy operation.
Set addExifHeader to true to add an Exif header to the Exif metadata.
Returns a null Qt byte array if there is no Exif metadata in memory.
QByteArray KExiv2::getExifTagData(const char *exifTagName) const
Gets an Exif tag content exifTagName as a byte array.
Returns an empty byte array if the Exif tag cannot be found.
QString KExiv2::getExifTagDescription(const char *exifTagName)
Returns the Exif Tag description for the exifTagName or a null string.
bool KExiv2::getExifTagLong(const char *exifTagName, long &val) const
Gets an Exif tag content exifTagName as a long value val.
Returns true if the Exif tag is found.
bool KExiv2::getExifTagLong(const char *exifTagName, long &val, int component) const
Gets an Exif tag content exifTagName as a long value val.
Returns true if the Exif tag be found.
bool KExiv2::getExifTagRational(const char *exifTagName, long &num, long &den, int component = 0) const
Gets the component index of an Exif tags content exifTagName as a rational value with the numerator num and denominator den.
Returns true if the Exif tag is found.
QString KExiv2::getExifTagString(const char *exifTagName, bool escapeCR = true) const
Gets an Exif tags content exifTagName as a string.
If escapeCR is true, the CR characters will be removed.
Returns a null string if the Exif tag cannot be found.
QString KExiv2::getExifTagTitle(const char *exifTagName)
Returns the Exif Tag title for the exifTagName or a null string.
QVariant KExiv2::getExifTagVariant(const char *exifTagName, bool rationalAsListOfInts = true, bool escapeCR = true, int component = 0) const
Gets an Exif tags content exifTagName 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.
KExiv2Iface::KExiv2::MetaDataMap KExiv2::getExifTagsDataList(const QStringList &exifKeysFilter = QStringList(), bool invertSelection = false) const
Returns a map of Exif tags name/value found in the metadata sorted by Exif keys given by exifKeysFilter.
The exifKeysFilter is a QStringList of Exif keys.
For example, if you use the string list given below:
"Iop"
"Thumbnail"
"Image"
"Photo"
The list can be empty to not filter output.
Given the above example, this method will return a map of all Exif tags which:
- will include "Iop", or "Thumbnail", or "Image", or "Photo" in the Exif tag keys if invertSelection is
false. - will not include "Iop", or "Thumbnail", or "Image", or "Photo" in the Exif tag keys if invertSelection is
true.
QImage KExiv2::getExifThumbnail(bool fixOrientation) const
Returns a QImage copy of the Exif thumbnail image.
Returns a null image if the thumbnail cannot be found.
The fixOrientation parameter will rotate the thumbnail automatically if Exif orientation tags information is attached to the thumbnail.
QString KExiv2::getFilePath() const
Returns the file path of the current image.
bool KExiv2::getGPSAltitude(double *const altitude) const
Gets GPS altitude information, in meters, relative to sea level (positive sign above sea level).
bool KExiv2::getGPSInfo(double &altitude, double &latitude, double &longitude) const
Gets all GPS location information set in the image.
Returns true if all information can be found.
bool KExiv2::getGPSLatitudeNumber(double *const latitude) const
Gets 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.
QString KExiv2::getGPSLatitudeString() const
Gets GPS location information set in the image, in the GPSCoordinate format as described in the XMP specification.
Returns a null string if the information cannot be found.
bool KExiv2::getGPSLongitudeNumber(double *const longitude) const
Gets 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.
QString KExiv2::getGPSLongitudeString() const
Gets 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.
KExiv2Iface::KExiv2::ImageColorWorkSpace KExiv2::getImageColorWorkSpace() const
Returns the image color-space set in Exif metadata.
The makernotes of the image are also parsed to get this information.
See also ImageColorWorkSpace.
QDateTime KExiv2::getImageDateTime() const
Returns the timestamp of the image.
First Exif information is checked, then IPTC if the image don't have Exif information.
If no timestamp is found, a null date is returned.
QSize KExiv2::getImageDimensions() const
Returns the size of the image in pixels using Exif tags.
Returns a null dimension if size cannot be found.
KExiv2Iface::KExiv2::ImageOrientation KExiv2::getImageOrientation() const
Returns the image orientation set in Exif metadata.
The makernotes of image are also parsed to get this information.
See also ImageOrientation.
bool KExiv2::getImagePreview(QImage &preview) const
Returns a QImage copy of the IPTC preview image.
Returns a null image if the preview cannot be found.
QByteArray KExiv2::getIptc(bool addIrbHeader = false) const
Returns a Qt byte array copy of the IPTC container acquired from the current image.
Set addIrbHeader to true to add an Irb header to IPTC metadata.
Returns a null QByteArray if there is no IPTC metadata in memory.
QStringList KExiv2::getIptcKeywords() const
Returns a strings list of IPTC keywords from the image.
Returns an empty list if no keywords are set.
QStringList KExiv2::getIptcSubCategories() const
Returns a strings list of IPTC subcategories from the image.
Returns an empty list if no subcategory is set.
QStringList KExiv2::getIptcSubjects() const
Returns a strings list of IPTC subjects from the image.
Returns an empty list if no subjects are set.
QByteArray KExiv2::getIptcTagData(const char *iptcTagName) const
Gets an IPTC tag content iptcTagName as a byte array.
Returns an empty byte array if the IPTC tag cannot be found.
QString KExiv2::getIptcTagDescription(const char *iptcTagName)
Returns the IPTC Tag description for iptcTagName or a null string.
QString KExiv2::getIptcTagString(const char *iptcTagName, bool escapeCR = true) const
Gets an IPTC tag content iptcTagName as a string.
If escapeCR is set to true, the CR characters will be removed.
Returns a null string if the IPTC tag cannot be found.
QString KExiv2::getIptcTagTitle(const char *iptcTagName)
Returns the IPTC Tag title for iptcTagName or a null string.
KExiv2Iface::KExiv2::MetaDataMap KExiv2::getIptcTagsDataList(const QStringList &iptcKeysFilter = QStringList(), bool invertSelection = false) const
Returns a map of IPTC tags name/value found in the 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.
Given the above example, this method will return a map of all IPTC tags which:
- will include "Envelope", or "Application2" in the IPTC tag keys if invertSelection is
false. - will not include "Envelope", or "Application2" in the IPTC tag keys if invertSelection is
true.
KExiv2Iface::KExiv2::TagsMap KExiv2::getIptcTagsList() const
Returns a map of all standard IPTC tags supported by Exiv2.
QStringList KExiv2::getIptcTagsStringList(const char *iptcTagName, bool escapeCR = true) const
Gets the values of all IPTC tags with the given tag name iptcTagName in a string list.
Returns an empty list if no tag is found.
(In IPTC, there can be multiple tags with the same name)
If escapeCR is set to true, the CR characters will be removed.
KExiv2Iface::KExiv2::TagsMap KExiv2::getMakernoteTagsList() const
Returns a map of all non-standard Exif tags (makernotes) supported by Exiv2.
QString KExiv2::getMimeType() const
Returns the mime type of this image.
The information is read from the file; see getPixelSize() to know when it is available.
QSize 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.
KExiv2Iface::KExiv2::TagsMap KExiv2::getStdExifTagsList() const
Returns a map of all standard Exif tags supported by Exiv2.
QByteArray KExiv2::getXmp() const
Returns a QByteArray copy of the XMP container acquired from the current image.
Returns a null QByteArray if there is no XMP metadata in memory.
QStringList KExiv2::getXmpKeywords() const
Returns a strings list of XMP keywords from the image.
Returns a null string list if no keywords are set.
QStringList KExiv2::getXmpSubCategories() const
Returns a string list of XMP subcategories from the image.
Returns a null string list if no subcategories are set.
QStringList KExiv2::getXmpSubjects() const
Returns a string list of XMP subjects from the image.
Returns a null string list if no subjects are set.
QString KExiv2::getXmpTagDescription(const char *xmpTagName)
Returns the XMP Tag description for xmpTagName or a null string.
QString KExiv2::getXmpTagString(const char *xmpTagName, bool escapeCR = true) const
Gets an XMP tag content xmpTagName as a string.
If escapeCR is set to true, the CR characters will be removed.
Returns a null string if the XMP tag cannot be found.
QStringList KExiv2::getXmpTagStringBag(const char *xmpTagName, bool escapeCR) const
Gets an XMP tag content xmpTagName as a bag of strings.
If escapeCR is set to true, the CR characters will be removed from strings.
Returns a null string list if the XMP tag cannot be found.
QString KExiv2::getXmpTagStringLangAlt(const char *xmpTagName, const QString &langAlt, bool escapeCR) const
Gets an XMP tag content xmpTagName as a string set with an alternative language header langAlt (like "fr-FR" for French - RFC3066 notation).
If escapeCR is set to true, the CR characters will be removed.
Returns a null string if the XMP tag cannot be found.
KExiv2Iface::KExiv2::AltLangMap KExiv2::getXmpTagStringListLangAlt(const char *xmpTagName, bool escapeCR = true) const
Gets all redundant Alternative Language XMP tags content xmpTagName as a map.
See AltLangMap class description for details.
If escapeCR is set to true, the CR characters will be removed from strings.
Returns null string list if the XMP tag cannot be found.
QStringList KExiv2::getXmpTagStringSeq(const char *xmpTagName, bool escapeCR = true) const
Gets an XMP tag content xmpTagName as a sequence of strings.
If escapeCR is set to true, the CR characters will be removed from strings.
Returns a null string list if the XMP tag cannot be found.
QString KExiv2::getXmpTagTitle(const char *xmpTagName)
Returns the XMP Tag title for xmpTagName or a null string.
QVariant KExiv2::getXmpTagVariant(const char *xmpTagName, bool rationalAsListOfInts = true, bool stringEscapeCR = true) const
Gets an XMP tag content xmpTagName 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 a QStringList.
LangAlt values will have type Map (QMap<QString, QVariant>) with the language code as key and the contents as value, of type QString.
KExiv2Iface::KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QStringList &xmpKeysFilter = QStringList(), bool invertSelection = false) const
Returns a map of XMP tags name/value pairs found in the 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.
Given the above example, this method will return a map of all XMP tags which:
- will include "dc", or "xmp" in the XMP tag keys if invertSelection is
false. - will not include "dc", or "xmp" in the XMP tag keys if invertSelection is
true.
KExiv2Iface::KExiv2::TagsMap KExiv2::getXmpTagsList() const
Returns a map of all standard XMP tags supported by Exiv2.
bool KExiv2::hasComments() const
Returns true if metadata container in memory has Comments.
bool KExiv2::hasExif() const
Returns true if the metadata container in memory has Exif.
bool KExiv2::hasIptc() const
Returns true if metadata container in memory has IPTC.
[static] bool KExiv2::hasSidecar(const QString &path)
Performs a QFileInfo based check if the file in the given file path has a sidecar.
bool KExiv2::hasXmp() const
Returns true if the metadata container in memory has XMP.
[static] bool KExiv2::initializeExiv2()
Returns true if Exiv2 library initialization is done properly.
This method must be called before using libkexiv2 with multithreading.
It initializes several non re-entrancy code from Adobe XMP SDK.
See B.K.O #166424 for details.
Call cleanupExiv2() to clean things up later.
bool KExiv2::initializeGPSInfo(const bool setProgramName)
Makes sure all static required GPS EXIF and XMP tags exist.
bool KExiv2::isEmpty() const
Returns true if the metadata container in memory has no Comments, Exif, IPTC, and XMP.
[virtual] bool KExiv2::load(const QString &filePath) const
Load all metadata (Exif, IPTC, XMP, and JFIF Comments) from a picture (JPEG, RAW, TIFF, PNG, DNG, etc...).
Returns true if the metadata has been loaded successfully from file in filePath.
bool KExiv2::loadFromData(const QByteArray &imgData) const
Load all metadata (Exif, IPTC, XMP, and JFIF Comments) from a byte array.
Returns true if the metadata has been loaded successfully from imgData.
int KExiv2::metadataWritingMode() const
Returns the metadata writing mode.
See also MetadataWritingMode and setMetadataWritingMode().
[static] bool KExiv2::registerXmpNameSpace(const QString &uri, const QString &prefix)
Registers a namespace which Exiv2 doesn't know yet.
This is only needed when new XMP properties are added manually.
The 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.
bool KExiv2::removeExifTag(const char *exifTagName, bool setProgramName = true) const
Removes the Exif tag exifTagName from the Exif metadata.
Returns true if the Exif tag is removed successfully or if no tag was present.
bool KExiv2::removeExifThumbnail() const
Remove the Exif thumbnail from the image.
bool KExiv2::removeFromXmpTagStringBag(const char *xmpTagName, const QStringList &entriesToRemove, bool setProgramName) const
Removes the XMP tag entries entriesToRemove for the XMP tag content xmpTagName from the entries in the metadata.
Returns true if the tag entries are no longer contained in the metadata.
All other entries are preserved.
bool KExiv2::removeGPSInfo(const bool setProgramName = true)
Removes all Exif tags relevant to the GPS location information.
Returns true if all tags have been removed successfully from the metadata.
bool KExiv2::removeIptcTag(const char *iptcTagName, bool setProgramName = true) const
Removes all instances of the IPTC tag iptcTagName from the IPTC metadata.
Returns true if all tags have been removed successfully (or none were present).
bool KExiv2::removeXmpKeywords(const QStringList &keywordsToRemove, bool setProgramName = true)
Removes the XMP keywords keywordsToRemove from the keywords in the metadata.
Returns true if the keywords are no longer contained in the metadata.
bool KExiv2::removeXmpSubCategories(const QStringList &categoriesToRemove, bool setProgramName = true)
Removes the XMP sub categoriesToRemove from the subcategories in the metadata.
Returns true if the subjects are no longer contained in the metadata.
bool KExiv2::removeXmpSubjects(const QStringList &subjectsToRemove, bool setProgramName = true)
Removes the XMP subjectsToRemove from the subjects in the metadata.
Returns true if the subjects are no longer contained in the metadata.
bool KExiv2::removeXmpTag(const char *xmpTagName, bool setProgramName = true) const
Removes the XMP tag xmpTagName from XMP metadata.
Returns true if the tag is removed successfully or if no tag was present.
bool KExiv2::rotateExifQImage(QImage &image, KExiv2Iface::KExiv2::ImageOrientation orientation) const
Fixes orientation of a QImage image according to the Exif orientation tag.
Returns true if image is rotated, false otherwise.
bool KExiv2::save(const QString &filePath) const
Saves all metadata to a file in filePath.
This one can be different from the original picture to perform a transfer operation.
Returns true if the metadata has been saved to the file.
bool KExiv2::setComments(const QByteArray &data) const
Sets the Comments data using a Qt byte array.
Returns true if Comments metadata has been changed in memory.
See also hasComments().
void KExiv2::setData(const KExiv2Iface::KExiv2Data &data)
See also data().
bool KExiv2::setExif(const QByteArray &data) const
Sets the Exif data using a Qt byte array.
Returns true if Exif metadata has been changed in memory.
See also hasExif().
bool KExiv2::setExifComment(const QString &comment, bool setProgramName = true) const
Sets an Exif user comment from the image.
Look at the Exif specification for more details about this tag.
Returns true if the Exif user comment has been changed in the metadata.
bool KExiv2::setExifTagData(const char *exifTagName, const QByteArray &data, bool setProgramName = true) const
Sets an Exif tag content exifTagName using a byte array data.
Returns true if the tag is set successfully.
bool KExiv2::setExifTagLong(const char *exifTagName, long val, bool setProgramName = true) const
Sets an Exif tag content exifTagName using a long value val.
Returns true if the Exif tag is set successfully.
bool KExiv2::setExifTagRational(const char *exifTagName, long num, long den, bool setProgramName = true) const
Sets an Exif tag content exifTagName using a rational value with the numerator num and denominator den.
Returns true if tag is set successfully.
bool KExiv2::setExifTagString(const char *exifTagName, const QString &value, bool setProgramName = true) const
Sets an Exif tag content exifTagName using a string value.
Returns true if the tag is set successfully.
bool KExiv2::setExifTagVariant(const char *exifTagName, const QVariant &data, bool rationalWantSmallDenominator = true, bool setProgramName = true) const
Sets an Exif tag content exifTagName using a QVariant data.
Returns true if the Exif tag is set successfully.
All types described for getExifTagVariant() are supported.
Calling with a QVariant of type QByteArray is equivalent to calling setExifTagData().
For the meaning of rationalWantSmallDenominator, see the documentation for the convertToRational methods.
Setting a value with multiple components is currently not supported.
bool KExiv2::setExifThumbnail(const QImage &thumb, bool setProgramName = true) const
Sets the Exif Thumbnail image.
The thumbnail image must have the right dimensions prior to this operation.
Look at the Exif specification for details.
Returns true if the thumbnail has been changed in the metadata.
void KExiv2::setFilePath(const QString &path)
Sets the file path of the current image.
bool KExiv2::setGPSInfo(const double altitude, const QString &latitude, const QString &longitude, const bool setProgramName = true)
Sets all GPS location information to the image.
Returns true if all information has been changed in the metadata.
bool KExiv2::setGPSInfo(const double altitude, const double latitude, const double longitude, const bool setProgramName = true)
Sets all GPS location information to the image.
Returns true if all information has been changed in the metadata.
bool KExiv2::setGPSInfo(const double *const altitude, const double latitude, const double longitude, const bool setProgramName = true)
Sets all GPS location information to the image.
Returns true if all information has been changed in the metadata.
If you do not want altitude to be set, pass a null pointer.
bool KExiv2::setImageColorWorkSpace(KExiv2Iface::KExiv2::ImageColorWorkSpace workspace, bool setProgramName = true) const
Sets the Exif color-space tag of the image.
Returns true if the workspace has been changed in the metadata.
See also ImageColorWorkSpace.
bool KExiv2::setImageDateTime(const QDateTime &dateTime, bool setDateTimeDigitized = false, bool setProgramName = true) const
Sets the Exif and IPTC timestamp.
If setDateTimeDigitized is true, then the Digitalized timestamp is set, else only the Created timestamp is set.
bool KExiv2::setImageDimensions(const QSize &size, bool setProgramName = true) const
Sets the size of image in pixels using Exif tags.
Returns true if the size has been changed in the metadata.
bool KExiv2::setImageOrientation(KExiv2Iface::KExiv2::ImageOrientation orientation, bool setProgramName = true) const
Sets the Exif orientation tag of image.
Returns true if the orientation has been changed in the metadata.
See also ImageOrientation.
[virtual] bool KExiv2::setImagePreview(const QImage &preview, bool setProgramName = true) const
Sets the IPTC preview image. * * The thumbnail image must have the right size prior to this operation * (64Kb max with JPEG file, else 256Kb). * * Look at the IPTC specification for details. * * Returns true if the preview has been changed in the metadata. * * Re-implement this method if you want to use an image file format other than JPEG to * save the preview.
bool KExiv2::setImageProgramId(const QString &program, const QString &version) const
Sets program name and program version in Exif and IPTC Metadata.
Returns true if information has been changed in the metadata.
bool KExiv2::setIptc(const QByteArray &data) const
Sets the IPTC data using a QByteArray data.
Returns true if the IPTC metadata has been changed in memory.
See also hasIptc().
bool KExiv2::setIptcKeywords(const QStringList &oldKeywords, const QStringList &newKeywords, bool setProgramName = true) const
Sets IPTC keywords using a list of strings defined by newKeywords to replace oldKeywords.
Use getImageKeywords() to set oldKeywords to existing keywords from the image.
This method will compare all new keywords with all old keywords to prevent duplicate entries in the image.
Returns true if the keywords have been changed in the metadata.
bool KExiv2::setIptcSubCategories(const QStringList &oldSubCategories, const QStringList &newSubCategories, bool setProgramName = true) const
Sets IPTC subcategories using a list of strings defined by newSubCategories to replace oldSubCategories.
Use getImageSubCategories() to set oldSubCategories with existing subcategories from the image.
This method will compare all new subcategories with all old subcategories to prevent duplicate entries in image.
Returns true if the subcategories have been changed in the metadata.
bool KExiv2::setIptcSubjects(const QStringList &oldSubjects, const QStringList &newSubjects, bool setProgramName = true) const
Sets IPTC subjects using a list of strings defined by newSubjects to replace oldSubjects.
Use getImageSubjects() to set oldSubjects with existing subjects from the image.
This method will compare all new subjects with all old subjects to prevent duplicate entries in image.
Returns true if the subjects have been changed in the metadata.
bool KExiv2::setIptcTagData(const char *iptcTagName, const QByteArray &data, bool setProgramName = true) const
Sets an IPTC tag content iptcTagName using a byte array data.
Returns true if tag is set successfully.
bool KExiv2::setIptcTagString(const char *iptcTagName, const QString &value, bool setProgramName = true) const
Sets an IPTC tag content iptcTagName using a string value.
Returns true if tag is set successfully.
bool KExiv2::setIptcTagsStringList(const char *iptcTagName, int maxSize, const QStringList &oldValues, const QStringList &newValues, bool setProgramName = true) const
Sets multiple IPTC tags contents with the given tag name iptcTagName using a string list newValues to replace oldValues.
maxSize is the max characters size of one entry.
Returns true if all tags have been set successfully.
void KExiv2::setMetadataWritingMode(const int mode)
Sets the metadata writing mode.
See also MetadataWritingMode and metadataWritingMode().
[virtual protected] bool KExiv2::setProgramId(bool on = true) const
Re-implement this method to automatically set the Program Name and Program Version information in Exif and IPTC metadata if on is set to true.
This method is called by all methods which change tags in the metadata.
By default this method does nothing and returns true.
bool KExiv2::setTiffThumbnail(const QImage &thumb, bool setProgramName = true) const
Adds a JPEG thumbnail thumb to TIFF images.
Use this instead of setExifThumbnail() for TIFF images.
void KExiv2::setUpdateFileTimeStamp(bool on)
Enables or disables file timestamp updating when metadata are saved.
By default files timestamp are untouched.
See also updateFileTimeStamp().
void KExiv2::setUseXMPSidecar4Reading(const bool on)
Enables or disables using an XMP sidecar for reading metadata.
See also useXMPSidecar4Reading().
void KExiv2::setWriteRawFiles(const bool on)
Enables or disables writing metadata operations to RAW tiff based files.
Requires Exiv2 0.18.
By default RAW files are untouched.
See also writeRawFiles().
bool KExiv2::setXmp(const QByteArray &data) const
Sets the XMP data using a QByteArray.
Returns true if the XMP metadata has been changed in memory.
See also hasXmp().
bool KExiv2::setXmpKeywords(const QStringList &newKeywords, bool setProgramName = true) const
Sets XMP keywords using a list of strings defined by newKeywords.
The existing keywords from the image are preserved.
This method will compare all new keywords with all already existing keywords to prevent duplicate entries in the image.
Returns true if the keywords have been changed in the metadata.
bool KExiv2::setXmpSubCategories(const QStringList &newSubCategories, bool setProgramName = true) const
Sets XMP subcategories using the string list newSubCategories.
The existing subcategories from the image are preserved.
This method will compare all new subcategories with all already existing subcategories to prevent duplicate entries in the image.
Returns true if the subcategories have been changed in the metadata.
bool KExiv2::setXmpSubjects(const QStringList &newSubjects, bool setProgramName = true) const
Sets XMP subjects using a string list of newSubjects.
The existing subjects from the image are preserved.
This method will compare all new subjects with all already existing subjects to prevent duplicate entries in the image.
Returns true if the subjects have been changed in the metadata.
bool KExiv2::setXmpTagString(const char *xmpTagName, const QString &value, bool setProgramName = true) const
Sets an XMP tag content xmpTagName using a string value.
Returns true if tag is set successfully.
bool KExiv2::setXmpTagString(const char *xmpTagName, const QString &value, KExiv2Iface::KExiv2::XmpTagType type, bool setProgramName = true) const
Sets an XMP tag xmpTagName with a specific type to the given value.
Returns true if tag is set successfully.
This method only accept NormalTag, ArrayBagTag and StructureTag. Other XmpTagTypes do nothing.
bool KExiv2::setXmpTagStringBag(const char *xmpTagName, const QStringList &bag, bool setProgramName = true) const
Sets an XMP tag content xmpTagName using the bag of strings bag.
Returns true if tag is set successfully.
bool KExiv2::setXmpTagStringLangAlt(const char *xmpTagName, const QString &value, const QString &langAlt, bool setProgramName = true) const
Sets an XMP tag content xmpTagName using a string value with an alternative language header langAlt.
langAlt contains the language alternative information (like "fr-FR" for French - RFC3066 notation) or is null to set alternative language to default settings ("x-default").
Returns true if the tag is set successfully.
bool KExiv2::setXmpTagStringListLangAlt(const char *xmpTagName, const KExiv2Iface::KExiv2::AltLangMap &values, bool setProgramName) const
Sets an Alternative Language XMP tag content xmpTagName using a map with the given values.
See AltLangMap class description for details.
If xmpTagName already exists, it wil be removed prior to this operation.
Returns true if the tag is set successfully.
bool KExiv2::setXmpTagStringSeq(const char *xmpTagName, const QStringList &seq, bool setProgramName = true) const
Sets an XMP tag content xmpTagName using the sequence of strings seq.
Returns true if the tag is set successfully.
[static] QString KExiv2::sidecarFilePathForFile(const QString &path)
Returns the XMP Sidecar file path for an image in the given file path.
If the image file path does not include a file name or is empty, this function returns a null string.
[static] QString KExiv2::sidecarPath(const QString &path)
Like sidecarFilePathForFile(), but it works for local file path.
[static] QUrl KExiv2::sidecarUrl(const QString &path)
Gives a file url for a local path.
[static] QUrl KExiv2::sidecarUrl(const QUrl &url)
Like sidecarFilePathForFile(), but it works for a remote url.
[static] bool KExiv2::supportMetadataWritting(const QString &typeMime)
Returns true if the library can write metadata to typeMime file format.
[static] bool KExiv2::supportXmp()
Returns true if the library can handle XMP metadata.
[static] bool KExiv2::unregisterXmpNameSpace(const QString &uri)
Unregisters a previously registered custom namespace.
bool KExiv2::updateFileTimeStamp() const
Returns true if file timestamp is updated when metadata are saved.
See also setUpdateFileTimeStamp().
bool KExiv2::useXMPSidecar4Reading() const
Returns true if using an XMP sidecar for reading metadata is enabled.
See also setUseXMPSidecar4Reading().
[static] QString KExiv2::version()
Returns a string version of libkexiv2 release.
bool KExiv2::writeRawFiles() const
Returns true if writing metadata operations on RAW tiff based files is enabled.
Requires Exiv2 0.18.
See also setWriteRawFiles().
KExiv2Iface::KExiv2 &KExiv2::operator=(const KExiv2Iface::KExiv2 &metadata)
Create a copy of container.