diff --git a/mangle/image.py b/mangle/image.py index 2fe18b4..3b91425 100644 --- a/mangle/image.py +++ b/mangle/image.py @@ -135,6 +135,13 @@ def quantizeImage(image, palette): @protect_bad_image def scaleCropImage(image, size): + widthDev, heightDev = size + widthImg, heightImg = image.size + + # don't crop 2 page spreads. + if (float(widthImg) / float(heightImg)) > (float(widthDev) / float(heightDev)): + return resizeImage(image, size) + return ImageOps.fit(image, size, Image.ANTIALIAS) @@ -184,11 +191,12 @@ def orientImage(image, size): # by inverting colors, and asking a bounder box ^^ @protect_bad_image def autoCropImage(image): + w, h = image.size try: x0, y0, xend, yend = ImageChops.invert(image).getbbox() except TypeError: # bad image, specific to chops return image - image = image.crop((x0, y0, xend, yend)) + image = image.crop((0, y0, w, yend)) return image diff --git a/mangle/ui/options.ui b/mangle/ui/options.ui index 29cedbb..08cc082 100644 --- a/mangle/ui/options.ui +++ b/mangle/ui/options.ui @@ -217,7 +217,7 @@ - Scale and crop images to fill the screen + Scale and crop images to fill screen width