[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-imaging
Subject:    [Kde-imaging] kdeextragear-libs-1/kipi-plugins/sendimages
From:       Gilles Caulier <caulier.gilles () free ! fr>
Date:       2004-09-25 13:06:11
Message-ID: 20040925130611.7552A9003 () office ! kde ! org
[Download RAW message or body]

CVS commit by cgilles: 

KIPI sendimages plugin : now, resized JPEG images don't lost the EXIF informations !
CCMAIL: kde-imaging@kde.org, digikam-users@lists.sourceforge.net


  A            exifrestorer.cpp   1.1 [GPL]
  A            exifrestorer.h   1.1 [GPL]
  A            jpegsection.h   1.1 [GPL]
  M +2 -1      Makefile.am   1.6
  M +22 -0     sendimages.cpp   1.13


--- kdeextragear-libs-1/kipi-plugins/sendimages/Makefile.am  #1.5:1.6
@@ -7,5 +7,6 @@
 # Srcs for the plugin
 kipiplugin_sendimages_la_SOURCES = plugin_sendimages.cpp sendimagesdialog.cpp \
-                                   listimageserrordialog.cpp sendimages.cpp
+                                   listimageserrordialog.cpp sendimages.cpp \
+                                   exifrestorer.cpp 
 
 # Libs needed by the plugin

--- kdeextragear-libs-1/kipi-plugins/sendimages/sendimages.cpp  #1.12:1.13
@@ -57,4 +57,5 @@
 #include "sendimagesdialog.h"
 #include "listimageserrordialog.h"
+#include "exifrestorer.h"
 #include "actions.h"
 
@@ -176,4 +177,25 @@ void SendImages::run()
            else          // Resized images OK...
                {
+               // Only try to write Exif if both src and destination are JPEG files.
+    
+               if (QString(QImageIO::imageFormat(imageName)).upper() == "JPEG" &&
+                   m_imageFormat.upper() == "JPEG")
+                  {
+                  ExifRestorer exifHolder;
+                  exifHolder.readFile(imageName, ExifRestorer::ExifOnly);
+       
+                  QString targetFile = m_tmp + imageNameFormat;
+       
+                  if (exifHolder.hasExif()) 
+                     {
+                     ExifRestorer restorer;
+                     restorer.readFile(targetFile, ExifRestorer::EntireImage);
+                     restorer.insertExifData(exifHolder.exifData());
+                     restorer.writeFile(targetFile);
+                     }
+                  else 
+                     kdWarning( 51000 ) << ("createThumb::No Exif Data Found") << endl;
+                  }  
+       
                d = new KIPISendimagesPlugin::EventData;
                d->action   = KIPISendimagesPlugin::ResizeImages;


_______________________________________________
Kde-imaging mailing list
Kde-imaging@kde.org
https://mail.kde.org/mailman/listinfo/kde-imaging
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic