First off part of me feels like this is a stupid question, sorry about that. Currently the most accurate way I\'ve found of calculating the optimum scaling factor (best width an
I think the fastest and cleaner way is:
from PIL import Image
from math import sqrt
img=Image.open(PATH)
img.thumbnails([round(sqrt(TARGET_PIXEL_AREA))]*2)
I hope it will help
Here is my approach,
aspectRatio = currentWidth / currentHeight
heigth * width = area
So,
height * (height * aspectRatio) = area
height² = area / aspectRatio
height = sqrt(area / aspectRatio)
At that point we know the target height, and width = height * aspectRatio
.
Ex:
area = 100 000
height = sqrt(100 000 / (700/979)) = 373.974
width = 373.974 * (700/979) = 267.397