Hi all, If you have follow my recent commits into svn trunk, there is a new common class witch provide an interface to Exiv2 library (http://www.exiv2.org). http://websvn.kde.org/trunk/extragear/libs/kipi-plugins/common/exiv2iface/exiv2iface.cpp?rev=585974&view=auto This class is based on an internal class from digiKam core to manage metadata. With this class we can restore metadata to a converted/transformed image using Qt, like ExifRestorer implementation done into all plugins. But we can do better (:=)) The ExifRestorer can only restore the JPEG Exif section. With the Exiv2 interface, we can restore Exif, Comments, and IPTC sections. Also, ExifRestorer can only extract metadata from JPEG, Exiv2 can do it from All RAW files, JPEG, PNG and TIFF/EP ! Actually, Exiv2 library can only write metadata into a JPEG files, but we working to support TIFF/EP, PNG and RAW files ! This will very powerfull. I recommend to all plugins mainteners to update your code to use the common Exiv2 interface class instead the ExifRestorer (witch is non-common and duplicated into each plugins !) To use it, just look the plugins witch already support it :JPEGLossLess, AdjustTime, and RAWConverter. You just need to fix you Makefile.am like this : INCLUDES = -I$(top_srcdir)/kipi-plugins/common/exiv2iface ... kipiplugin_PLUGINNAME_la_LIBADD = (top_builddir)/kipi-plugins/common/exiv2iface/libexiv2iface.la ... And your implementation to remplace ExifRestorer like this : #include "pluginsversion.h" #include "exiv2iface.h" ... // Update the metadata to target file. QImage img(mypicture); QImage exifThumbnail = img.scale(160, 120, QImage::ScaleMin); exiv2Iface.load(mypicture); // Just to add/update the "Software" Exif/IPTC tags with your plugin name & version (if necessary) exiv2Iface.setImageProgramId(QString("Kipi PLUGINNAME"), QString(kipiplugins_version)); // If you have transformed the image, unforget to set the Exif dimensions/thumbnail tags properly (if necessary). exiv2Iface.setImageDimensions(img.size()); exiv2Iface.setExifThumbnail(exifThumbnail); // and now save all metadata. exiv2Iface.save(destGiven); In the Exiv2 interface, there are other methods to update/extract some metadata informations. But the class is not complete, and new methods can be added in the future if you need. For that, no need to re-invent the wheel : we have a more complete metadata class into digiKam core and a backport is very simple. Just ask me what you want, i will do it (:=))) Friendly Gilles Caulier _______________________________________________ Kde-imaging mailing list Kde-imaging@kde.org https://mail.kde.org/mailman/listinfo/kde-imaging