From 29f9bd4ae635aa41fd3e5aeacebb499760e73243 Mon Sep 17 00:00:00 2001 From: Alexander Demidov Date: Fri, 29 Nov 2013 12:44:53 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=B0=D1=82=D1=82=D1=80=D0=B8=D0=B1=D1=83=D1=82=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B0?= =?UTF-8?q?=D1=85=20=D0=BA=D0=BE=D0=BC=D0=BD=D0=B0=D0=B4=D0=BD=D0=BE=D0=B9?= =?UTF-8?q?=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8=20--keep-aspect-ratio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resize.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/resize.py b/resize.py index 4e4099e..0730a11 100755 --- a/resize.py +++ b/resize.py @@ -8,6 +8,7 @@ parser = argparse.ArgumentParser() parser.add_argument("--width", dest="width", type=int, required=True) parser.add_argument("--height", dest="height", type=int, required=True) parser.add_argument("--crop", action="store_true", required=False) +parser.add_argument("--keep-aspect-ratio", dest="keep_aspect_ratio", action="store_true", required=False) parser.add_argument("source", type=str) parser.add_argument("destination", type=str) args = parser.parse_args() @@ -33,8 +34,11 @@ try: im_result = im_crop.resize(size, Image.ANTIALIAS) else: im.thumbnail(size, Image.ANTIALIAS) - im_result = Image.new('RGB', (args.width, args.height), (255, 255, 255)) - im_result.paste(im, ((args.width - im.size[0]) / 2, (args.height - im.size[1]) / 2)) + if args.keep_aspect_ratio: + im_result = im + else: + im_result = Image.new('RGB', (args.width, args.height), (255, 255, 255)) + im_result.paste(im, ((args.width - im.size[0]) / 2, (args.height - im.size[1]) / 2)) enhancer = ImageEnhance.Contrast(im_result) im_result = enhancer.enhance(1.05) im_result.save(outfile, "JPEG", quality=100)