Как еще один вариант, вы можете изменить размер изображения с помощью CSS. Таким образом, изображения могут сохранять свое исходное разрешение (что позволяет пользователю сохранять их) и в то же время хорошо вписываться в деления.
Для предотвращения слишком больших изображений с помощью CSS вы можете использовать:
img {
max-width:100%;
height:auto;
}
Edit:
Извините, Эндрю, я не знаю о ПИЛ. Однако, если вы знаете, как изменить размер, и вам просто нужно работать над поддержанием соотношения, вы можете попробовать что-то вроде:
def scale_dimensions(width, height, max_width):
if width > max_width:
ratio = max_width*1./width
return (int(width*ratio), int(height*ratio))
return (width, height)