From 37d68567cecb6055033ff8b4095f064f03e693d5 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Tue, 30 Dec 2008 21:28:37 +0100 Subject: Optionally erase embedded thumbnail from EXIF --- jpeg-utils.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'jpeg-utils.cpp') 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()); + } +} + -- cgit v1.2.3