On Feb 18, 2:56 pm, Luther Goh Lu Feng <elf...@yahoo.com> wrote:
> I have many images that are already uploaded. I would like to have a
> way to resize these images proportionately in the view. The original
> images may or may not be modified. Any ideas how this can be achieved?

def THUMB(image, nx=120, ny=120,
basefolder=os.path.join(request.folder, 'uploads')):
    '''Utility for making thumbnails.  Will be used inside a DB
compute function
       http://web2pyslices.com/main/slices/take_slice/62 '''
    import Image
    img = Image.open(os.path.join(basefolder, image))
    img.thumbnail((nx,ny), Image.ANTIALIAS)
    root, ext = os.path.splitext(image)
    thumb ='%s_thumb%s' % (root, ext)
    img.save(os.path.join(basefolder, thumb))
    return thumb

dbh.define_table(
        'table_name',
        Field('image', 'upload', uploadfolder=uploadfolder,
autodelete=True),
        Field('thumbnail', 'upload', uploadfolder=uploadfolder,
autodelete=True,
          compute = lambda r: THUMB(r['image'],
basefolder=uploadfolder)),
        )

This is almost copy-paste from one of my apps.  Works like a charm.
Note the reference to the slice.

Reply via email to