2011-12-22 96 views
0

我试图缩放一堆图像,以使它们具有相同的面积,但保持其宽高比,但无法找到公式来执行此操作。将图像缩放到某个区域

有没有人知道一个公式?

回答

4

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

话又说回来,这是一个数学问题,而不是一个编程...

+0

我需要编程它到C#... –

+1

那有什么问题吗?唯一会改变的是'Math.sqrt'。这仍然是一个数学问题。 – Amadan

2

给n您有尺寸(W1,H1)和(W2,H2)的两个图像和要在第二图像缩放到相同的区域作为第一,同时保持高宽比,则

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

我认为应该是new_w2 = sqrt(A *(w2/h2)) –

+0

正确。固定。 –

相关问题