2014-02-12 58 views
0

我想根据总图像大小(w * h)调整图像大小 我知道纵横比,但我没有寻找基于max_h调整图像大小的方法或max_w。调整图像大小(不是纵横比)

示例 Image_H = 1000和Image_W = 400; ,使总尺寸为1000 * 400 = 400.000。

假设我想限制这个max_size 100.000,我使用哪个公式?

(我试图new_Image_H = Image_H *(MAX_SIZE/TOTAL_SIZE)和new_Image_W = Image_W *(MAX_SIZE/TOTAL_SIZE);然而,这导致new_Image_H = 250和new_Image_W = 100。 的new_Total_size变得代替25.000 100.000)

+0

你们是不是要调整图片大小,服务器端 - 因为如果你是,你需要第三方组件做到这一点在传统的ASP? – John

回答

0

确定 - 所有你需要做的是制定出大小的百分比,然后应用到width和height:

Dim x, y, ts, alt, p, newX, newY 
x = 1000 
y = 400 
alt = 100000 
ts = x * y 
p = alt/ts 
newX = x * p 
newY = y * p 

是那个样的事情?

1

nW - 新图像的宽度

nH - 新图像高度

AR - 宽高比

MaxS - 广场的最大面积

所以,我们认为:

MaxS = nW * nH 

AR = OriginalW/OriginalH = nW/nH 

nW = MaxS/nH = MaxS/(nW/AR) = (MaxS * AR)/nW 
nW^2 = MaxS/AR 
nW = SQR (MaxS/AR) ' SQR means "square root" 

有了自己的价值观,我们将有:

nW = SQR (100000/0.4) = 500 
nH = AR * nw = 0.4 * 500 = 200 
相关问题