From d05037154905fb05c041b07f8f3292ad960da44a Mon Sep 17 00:00:00 2001 From: Pierre-Luc Paour Date: Sat, 19 Jul 2003 18:57:19 +0000 Subject: [PATCH] Added a jpegQuality field to the ImageMagick settings. --- .../GalleryRemote/util/ImageUtils.java | 36 +++++++++---------- imagemagick/linux/im.properties | 3 ++ imagemagick/macos/im.properties | 3 ++ imagemagick/solaris/im.properties | 3 ++ imagemagick/win32/im.properties | 3 ++ 5 files changed, 29 insertions(+), 19 deletions(-) diff --git a/com/gallery/GalleryRemote/util/ImageUtils.java b/com/gallery/GalleryRemote/util/ImageUtils.java index 48125b1..9efdf1a 100644 --- a/com/gallery/GalleryRemote/util/ImageUtils.java +++ b/com/gallery/GalleryRemote/util/ImageUtils.java @@ -52,7 +52,8 @@ public class ImageUtils { static boolean useJpegtran = false; static String jpegtranPath = null; static File tmpDir = null; - + static int jpegQuality = 75; + public static final int THUMB = 0; public static final int PREVIEW = 1; public static final int UPLOAD = 2; @@ -83,26 +84,19 @@ public static ImageIcon load( String filename, Dimension d, int usage ) { if (useIM) { try { StringBuffer cmdline = new StringBuffer(imPath); - cmdline.append(" -size "); - - cmdline.append(d.width); - cmdline.append("x"); - cmdline.append(d.height); - + + cmdline.append(" -size ").append(d.width).append("x").append(d.height); + if (filterName[usage] != null && filterName[usage].length() > 0) { - cmdline.append(" -filter "); - cmdline.append(filterName[usage]); + cmdline.append(" -filter ").append(filterName[usage]); } - cmdline.append(" \""); - cmdline.append(filename); - - cmdline.append("\" -resize "); - cmdline.append(d.width); - cmdline.append("x"); - cmdline.append(d.height); + cmdline.append(" \"").append(filename).append("\""); + + cmdline.append(" -resize \"").append(d.width).append("x").append(d.height).append("\" "); + cmdline.append(" +profile \"*\" "); - + File temp = File.createTempFile("thumb", "." + format[usage], tmpDir); toDelete.add(temp); @@ -172,6 +166,8 @@ public static File resize( String filename, Dimension d ) { //cmdline.append("-gravity SouthEast -draw \"image Over 200,200 0,0 G:\\Projects\\Dev\\gallery_remote10\\2ni.png\" "); + cmdline.append(" -quality ").append(jpegQuality); + r = File.createTempFile("res" , "." + GalleryFileFilter.getExtension(filename), tmpDir); toDelete.add(r); @@ -346,6 +342,8 @@ public static ImageIcon rotateImageIcon(ImageIcon thumb, int angle, boolean flip format[THUMB] = p.getProperty("imThumbnailResizeFormat", "gif"); format[PREVIEW] = p.getProperty("imPreviewResizeFormat", "jpg"); format[UPLOAD] = null; + + jpegQuality = p.getIntProperty("jpegQuality", jpegQuality); } } catch (Exception e) { Log.logException(Log.CRITICAL, MODULE, e); @@ -402,12 +400,12 @@ public static Dimension getSizeKeepRatio(Dimension source, Dimension target) if (targetRatio > sourceRatio) { result.height = target.height; - result.width = (int) source.width * target.height / source.height; + result.width = source.width * target.height / source.height; } else { result.width = target.width; - result.height = (int) source.height * target.width / source.width; + result.height = source.height * target.width / source.width; } return result; diff --git a/imagemagick/linux/im.properties b/imagemagick/linux/im.properties index 708cf88..0f94a16 100644 --- a/imagemagick/linux/im.properties +++ b/imagemagick/linux/im.properties @@ -39,3 +39,6 @@ imThumbnailResizeFormat=gif # filter used for resize of preview imPreviewResizeFormat=jpg + +# jpeg quality +jpegQuality=80 \ No newline at end of file diff --git a/imagemagick/macos/im.properties b/imagemagick/macos/im.properties index 801dc64..134cb6f 100644 --- a/imagemagick/macos/im.properties +++ b/imagemagick/macos/im.properties @@ -39,3 +39,6 @@ imThumbnailResizeFormat=gif # filter used for resize of preview imPreviewResizeFormat=jpg + +# jpeg quality +jpegQuality=80 \ No newline at end of file diff --git a/imagemagick/solaris/im.properties b/imagemagick/solaris/im.properties index d2249dd..4913f1e 100644 --- a/imagemagick/solaris/im.properties +++ b/imagemagick/solaris/im.properties @@ -39,3 +39,6 @@ imThumbnailResizeFormat=gif # filter used for resize of preview imPreviewResizeFormat=jpg + +# jpeg quality +jpegQuality=80 \ No newline at end of file diff --git a/imagemagick/win32/im.properties b/imagemagick/win32/im.properties index e7896e9..ba4226d 100644 --- a/imagemagick/win32/im.properties +++ b/imagemagick/win32/im.properties @@ -39,3 +39,6 @@ imThumbnailResizeFormat=gif # filter used for resize of preview imPreviewResizeFormat=jpg + +# jpeg quality +jpegQuality=80 \ No newline at end of file