summaryrefslogtreecommitdiff
path: root/jpeg-utils.cpp
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2008-12-30 21:28:37 +0100
committerTomas Bzatek <tbzatek@users.sourceforge.net>2008-12-30 21:28:37 +0100
commit37d68567cecb6055033ff8b4095f064f03e693d5 (patch)
tree0196ef8d9788b5c60e4b9c73bf57460f209415f5 /jpeg-utils.cpp
parent7c07cbdbc469d8eab075d32c27039d8683b9cdf8 (diff)
downloadcataract-37d68567cecb6055033ff8b4095f064f03e693d5.tar.xz
Optionally erase embedded thumbnail from EXIF
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());
+ }
+}
+