summaryrefslogtreecommitdiff
path: root/jpeg-utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'jpeg-utils.cpp')
-rw-r--r--jpeg-utils.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/jpeg-utils.cpp b/jpeg-utils.cpp
index b550b21..316cbd7 100644
--- a/jpeg-utils.cpp
+++ b/jpeg-utils.cpp
@@ -389,3 +389,28 @@ calculate_sizes (const unsigned long max_width, const unsigned long max_height,
}
}
+
+/*
+ * strip_thumbnail: strip thumbnail stored in EXIF table
+ */
+void
+strip_thumbnail (const char *filename)
+{
+ try
+ {
+ Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
+ g_assert (image.get() != 0);
+
+ image->readMetadata();
+ Exiv2::ExifData &exifData = image->exifData();
+ if (! exifData.empty()) {
+ exifData.eraseThumbnail();
+ image->writeMetadata();
+ }
+ }
+ catch (Exiv2::AnyError& e)
+ {
+ fprintf (stderr, "strip_thumbnail: Caught Exiv2 exception: '%s'\n", e.what());
+ }
+}
+