Опитвам се да мащабирам куп изображения, така че да имат една и съща площ, но да запазя съотношението им, но имам проблеми с намирането на формула за това.
Някой знае ли формула?
Опитвам се да мащабирам куп изображения, така че да имат една и съща площ, но да запазя съотношението им, но имам проблеми с намирането на формула за това.
Някой знае ли формула?
За дадена област 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