Я пытаюсь масштабировать кучу изображений так, чтобы они имели одинаковую площадь, но сохраняли их соотношение сторон, но у меня возникают проблемы с поиском формулы для этого.
Кто-нибудь знает формулу?
Я пытаюсь масштабировать кучу изображений так, чтобы они имели одинаковую площадь, но сохраняли их соотношение сторон, но у меня возникают проблемы с поиском формулы для этого.
Кто-нибудь знает формулу?
Для данной области A,
newx * newy = A
newx / newy = oldx / oldy
что дает вам:
newy = A / newx
newy = newx / (oldx / oldy)
A / newx = newx / (oldx / oldy)
A * oldx / oldy = newx ^ 2
который затем решает:
newx = sqrt(A * oldx / oldy)
newy = A / newx
Опять же, это вопрос математики, а не программирования ...
Math.sqrt
. И это все еще математический вопрос.
- person Amadan; 22.12.2011
Если у вас есть два изображения с размерами (w1, h1) и (w2, h2), и вы хотите масштабировать второе изображение до той же области, что и первое, сохраняя соотношение сторон, тогда
A = w1 * h1
new_w2 = sqrt(A * (w2 / h2))
new_h2 = A / new_w2