Predicting Thumbnail Sizes from PIL
Fredrik Lundh
fredrik at pythonware.com
Sun Sep 11 09:34:07 EDT 2005
Roger wrote:
> I need to calculate the thumbnail sizes PILL will produce from an image.
> In most cases I can divide and round by adding .5, but PIL seems to
> round differently on odd sized images.
>
> For example, I want to reduce an 800x816 image to have a maximum size of
> 697. (697/816) * 800 = 683.33, so my rounding results in 683. But PIL
> produces an image of 684x697.
the algorithm is:
x, y = im.size
if x > size[0]: y = max(y * size[0] / x, 1); x = size[0]
if y > size[1]: x = max(x * size[1] / y, 1); y = size[1]
size = x, y
that is, it shrinks the image horizontally first, and it then shrinks the
resulting image vertically:
>>> 816 * 697 / 800
710
>>> 697 * 697 / 710
684
</F>
More information about the Python-list
mailing list