X-Git-Url: http://git.maemo.org/git/?p=gc-dialer;a=blobdiff_plain;f=support%2Fscale.py;fp=support%2Fscale.py;h=f9eb784bd89c805ea51b1afa9b6321aa867694aa;hp=0000000000000000000000000000000000000000;hb=17279d9fa822ed43c03d41ee9333fea8f7557418;hpb=0f8dd9d965abc692b4624da75d5c65b3fe6feca4 diff --git a/support/scale.py b/support/scale.py new file mode 100755 index 0000000..f9eb784 --- /dev/null +++ b/support/scale.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +from __future__ import with_statement +from __future__ import division + +import os +import logging + +from PIL import Image + + +_moduleLogger = logging.getLogger(__name__) + + +def main(args): + import optparse + parser = optparse.OptionParser() + parser.add_option( + "--input", dest="input", + help="Input image to scale", metavar="INPUT" + ) + parser.add_option( + "--output", dest="output", + help="Scaled image", metavar="OUTPUT" + ) + parser.add_option( + "--size", dest="size", + help="Icon size", metavar="SIZE" + ) + options, positional = parser.parse_args(args) + if positional: + parser.error("No positional arguments supported") + if None in [options.input, options.output, options.size]: + parser.error("Missing argument") + if options.size == "guess": + parts = reversed(os.path.split(options.output)) + for part in parts: + try: + options.size = int(part) + _moduleLogger.info("Assuming image size of %r" % options.size) + break + except ValueError: + pass + + icon = Image.open(options.input) + icon.thumbnail((options.size, options.size), Image.ANTIALIAS) + icon.save(options.output) + + +if __name__ == "__main__": + import sys + retcode = main(sys.argv[1:]) + sys.exit(retcode)