summaryrefslogtreecommitdiff
path: root/src/jpeg-utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jpeg-utils.cpp')
-rw-r--r--src/jpeg-utils.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jpeg-utils.cpp b/src/jpeg-utils.cpp
index ddac2c7..11d2c4e 100644
--- a/src/jpeg-utils.cpp
+++ b/src/jpeg-utils.cpp
@@ -556,7 +556,8 @@ resize_image (const gchar *src, const gchar *dst,
MagickResizeImage (magick_wand, size_x, size_y, LanczosFilter, 1.0);
}
- MagickSetImageCompressionQuality (magick_wand, quality);
+ if ((int) MagickGetImageCompressionQuality (magick_wand) != quality)
+ MagickSetImageCompressionQuality (magick_wand, quality);
/* Write the image and destroy it. */
if (MagickWriteImage (magick_wand, dst) == MagickFalse) {
@@ -578,6 +579,7 @@ resize_image (const gchar *src, const gchar *dst,
void
get_image_sizes (const gchar *img,
unsigned long *width, unsigned long *height,
+ int *quality,
gboolean autorotate)
{
MagickWand *magick_wand;
@@ -587,6 +589,8 @@ get_image_sizes (const gchar *img,
*width = -1;
*height = -1;
+ if (quality)
+ *quality = -1;
g_assert (img != NULL);
@@ -610,6 +614,8 @@ get_image_sizes (const gchar *img,
*width = MagickGetImageWidth (magick_wand);
*height = MagickGetImageHeight (magick_wand);
+ if (quality)
+ *quality = (int) MagickGetImageCompressionQuality (magick_wand);
magick_wand = DestroyMagickWand (magick_wand);
}