将图像缩放到某个区域

chr*_*vdp 0 math scaling image-scaling

我正在尝试缩放一堆图像,以使它们具有相同的面积,但保持其长宽比,但是却找不到公式来做到这一点。

有人知道公式吗?

Ama*_*dan 5

对于给定的区域A,

newx * newy = A
newx / newy = oldx / oldy
Run Code Online (Sandbox Code Playgroud)

这给你:

newy = A / newx
newy = newx / (oldx / oldy)

A / newx = newx / (oldx / oldy)
A * oldx / oldy = newx ^ 2
Run Code Online (Sandbox Code Playgroud)

然后解决:

newx = sqrt(A * oldx / oldy)
newy = A / newx
Run Code Online (Sandbox Code Playgroud)

再说一遍,这是一个数学问题,而不是编程问题。