diff options
Diffstat (limited to 'jpeg-utils.cpp')
| -rw-r--r-- | jpeg-utils.cpp | 25 |
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()); + } +} + |
