dont resize images to larger dimensions
authorgc <gc>
Sun, 8 May 2005 19:19:01 +0000 (19:19 +0000)
committergc <gc>
Sun, 8 May 2005 19:19:01 +0000 (19:19 +0000)
lib/booh/booh-lib.rb

index 0f11fae4352d9e0c1447f6d856a440e583f7181d..a5e0920553cb06e3dbae1d0fe8d16ab758b292b3 100644 (file)
@@ -234,7 +234,15 @@ module Booh
             end
             for dest in dests
                 if !File.exists?(dest['filename'])
-                    cmd = "#{$convert} #{convert_options}-size #{dest['size']} -resize #{dest['size']} '#{orig}' '#{dest['filename']}'"
+                    #- don't resize if image is already smaller than destination size
+                    if size = get_image_size(orig)
+                        dest['size'] =~ /(\d+)x(\d+)/
+                        if (rotate == "90" || rotate == "270") && (size[:x] < $2 || size[:y] < $1) ||
+                                                                   size[:x] < $1 || size[:y] < $2
+                            cmd = "#{$convert} #{convert_options} '#{orig}' '#{dest['filename']}'"
+                        end
+                    end
+                    cmd ||= "#{$convert} #{convert_options}-size #{dest['size']} -resize #{dest['size']} '#{orig}' '#{dest['filename']}'"
                     if allow_background
                         psys(cmd)
                     else