将图像缩放到某个区域

时间:2011-12-22 01:26:50

标签: math scaling image-scaling

我正在尝试缩放一堆图像,以便它们具有相同的区域,但保持其宽高比,但我很难找到一个公式来执行此操作。

有人知道公式吗?

2 个答案:

答案 0 :(得分:5)

对于给定区域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

然后,这是一个数学问题,而不是编程问题......

答案 1 :(得分:3)

假设您有两个尺寸为(w1,h1)和(w2,h2)的图像,并且您希望在保持纵横比的同时将第二个图像缩放到与第一个图像相同的区域,那么

A = w1 * h1
new_w2 = sqrt(A * (w2 / h2))
new_h2 = A / new_w2