我想基于总图像尺寸(w * h)调整图像大小 我知道纵横比,但我不是想找到一种基于max_h或max_w调整图像大小的方法。
示例 Image_H = 1000,Image_W = 400; 这使得total_size为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 :(得分: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
答案 1 :(得分:0)
好的 - 您需要做的就是按百分比计算尺寸,然后应用于宽度和高度:
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
这是那种事吗?