Using the Python Imaging Library to scale images on-the-fly

  The Python Imaging Library, PIL, is capable of (among other things) re-scaling images on-the-fly. The Archetypes ImageField can take a 'sizes' attribute to define the possible sizes an image can be scaled to. ATContentTypes defines the following sizes in 'ATContentTypes/content/image.py'::
  
   sizes= {'large'   : (768, 768),
           'preview' : (400, 400),
           'mini'    : (200, 200),
           'thumb'   : (128, 128),
           'tile'    :  (64, 64),
           'icon'    :  (32, 32),
           'listing' :  (16, 16),
          }

These can then be referred to by name. For example, to render the thumbnails in the 'richdocument_view_preview' template, we do::

  <img tal:replace="structure python:image.tag(scale='thumb')"/>
  
where 'image' is an 'ImageAttachment' object.