On Thursday, February 25, 2016 at 5:45:57 AM UTC-8, Gael Princivalle wrote: > > Hello all. > > I use this function for resizing images for full size and thumbnails: > > def SMARTHUMB(image, box, fit=True, name="thumb"): > #Downsample the image. > #@param img: Image - an Image-object > #@param box: tuple(x, y) - the bounding box of the result image > #@param fit: boolean - crop the image to fill the box > if image: > request = current.request > img = Image.open(request.folder + 'uploads/' + image) > #preresize image with factor 2, 4, 8 and fast algorithm > factor = 1 > while img.size[0] / factor > 2 * box[0] and img.size[1] * 2 / > factor > 2 * box[1]: > factor *= 2 > if factor > 1: > img.thumbnail((img.size[0] / factor, img.size[1] / factor), > Image.NEAREST) > > #calculate the cropping box and get the cropped part > if fit: > x1 = y1 = 0 > x2, y2 = img.size > wRatio = 1.0 * x2 / box[0] > hRatio = 1.0 * y2 / box[1] > if hRatio > wRatio: > y1 = int(y2 / 2 - box[1] * wRatio / 2) > y2 = int(y2 / 2 + box[1] * wRatio / 2) > else: > x1 = int(x2 / 2 - box[0] * hRatio / 2) > x2 = int(x2 / 2 + box[0] * hRatio / 2) > img = img.crop((x1, y1, x2, y2)) > > #Resize the image with best quality algorithm ANTI-ALIAS > img.thumbnail(box, Image.ANTIALIAS) > > root, ext = os.path.splitext(image) > thumb = '%s_%s%s' % (root, name, ext) > img.save(request.folder + 'uploads/' + thumb) > return thumb > > In the db: > db.define_table('news', > Field('title', type='string'), > Field('image', 'upload'), > Field('image_thumb', 'upload'), > Field('image_big', 'upload')) > > box_thumb = (270, 158) > db.news.image_thumb.compute = lambda row: SMARTHUMB(row.image, box_thumb) > box_big = (770, 435) > db.news.image_big.compute = lambda row: SMARTHUMB(row.image, box_big) > > The problem is that image_thumb have the same size as image_big. > > Someone know why? > > Thanks, regards. >
Is it because you don't override the name parameter, so your thumb file gets over-written by the big file? /dps -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.