changeset 4:6ec33e2ce60f

more documentation
author k0s <k0scist@gmail.com>
date Sat, 06 Mar 2010 13:22:31 -0500
parents 2be0070c6f95
children c89738f3f417
files README.txt cropresize/__init__.py
diffstat 2 files changed, 22 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/README.txt
+++ b/README.txt
@@ -3,14 +3,29 @@ cropresize
 
 cropresize uses PIL to crop and resize an image as appropriate for web
 presentation. cropresize is a convenience package that allows image
 resizing without aspect ratio distortion.
 
 API
 ---
 
+cropresize contains one useful function, ``cropresize.crop_resize``.
+The function takes three arguments:
+
+    * image: a PIL image object
+    * size: a 2-tuple of (width,height);  at least one must be specified
+    * exact_size: whether to scale up for smaller images  
+
+See ``cropresize.crop_resize.__doc__`` for the function
+documentation.  ``crop_resize`` returns the cropped and resized PIL image.
+
+
 Command Line
 ------------
 
 The command line program, ``crop-resize``, is included in this python
 package.  The help for the program is displayed by running
 ``crop-resize`` with no arguments or ``crop-resize --help``.
+
+--
+
+http://k0s.org/portfolio/software.html#cropresize
--- a/cropresize/__init__.py
+++ b/cropresize/__init__.py
@@ -1,20 +1,24 @@
 #!/usr/bin/env python
 
 import sys
 from PIL import Image
 
 def crop_resize(image, size, exact_size=False):
     """
     Crop out the proportional middle of the image and set to the desired size.
+    * image: a PIL image object
+    * size: a 2-tuple of (width,height);  at least one must be specified
+    * exact_size: whether to scale up for smaller images
     If the image is bigger than the sizes passed, this works as expected.
     If the image is smaller than the sizes passed, then behavior is dictated
-    by the `exact_size` flag.  If the 
-
+    by the ``exact_size`` flag.  If the ``exact_size`` flag is false,
+    the image will be returned unmodified.  If the ``exact_size`` flag is true,
+    the image will be scaled up to the required size.
     """
     assert size[0] or size[1]
 
     size = list(size)
 
     image_ar = image.size[0]/float(image.size[1])
     crop = size[0] and size[1]
     if not size[1]:
@@ -42,17 +46,17 @@ def crop_resize(image, size, exact_size=
             # trim the height
             yoffset = int(0.5*(image.size[1] - image.size[0]/size_ar))
             image = image.crop((0, yoffset, image.size[0], image.size[1] - yoffset))
 
     return image.resize(size, Image.ANTIALIAS)
 
 def main():
     from optparse import OptionParser
-    parser = OptionParser()
+    parser = OptionParser('%prog [options] image1.png [image2.jpg] [...]')
     parser.add_option('-W', '--width')
     parser.add_option('-H', '--height')
     parser.add_option('-e', '--exact-size', dest='exact', action='store_true', default=False)
     (options, args) = parser.parse_args()
 
     if not args:
         parser.print_help()
         sys.exit()