2014-02-12 2 views
0

Я хочу изменить размер изображения, исходя из общего размера изображения (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

Вы пытаетесь изменить размер изображений на стороне сервера - потому что, если вы вам потребуется компонент третьей стороны, чтобы сделать это в классический ASP? – John

ответ

0

Ok - все, что вам нужно сделать, это работать проклейки в процентах, а затем применить к ширине и высоте:

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 
Смежные вопросы