Hi Dave.
Yes it is. Now it works, thanks a lot for your help.
Il giorno venerdì 26 febbraio 2016 08:52:16 UTC+1, Dave S ha scritto:
>
>
>
> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.