[Digikam-devel] xmpbag, xmpseq beim Schreiben

Marcel Wiesweg marcel.wiesweg at gmx.de
Mon Jan 11 18:54:30 GMT 2010


> Hallo,
> 
> ich wollte mal nachfragen, wie digikam (unter Verwendung der
>  Exiv2-Bibliothek) mit den Typen xmpbag und xmpseq bem Schreiben von Werten
>  umgeht? Werden die alten Werte komplett mit den neuen Werten überschrieben
>  (d.h. die alten Werte werden zuvor explizit gelöscht) der werden die neuen
>  Werte an die alten angefügt?

As you like...Have a look at libkexiv2.
http://websvn.kde.org/trunk/KDE/kdegraphics/libs/libkexiv2/libkexiv2/

    /** Set a Xmp tag content using the bag of strings 'bag'.
        Return true if tag is set successfully.
     */
    bool setXmpTagStringBag(const char *xmpTagName, const QStringList& bag,
                            bool setProgramName=true) 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.
     */
    bool addToXmpTagStringBag(const char *xmpTagName, const QStringList& entriesToAdd,
                              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.
     */
    bool removeFromXmpTagStringBag(const char *xmpTagName, const QStringList& entriesToRemove,
                                   bool setProgramName) const;




More information about the Digikam-devel mailing list