Рассчитать новую ширину и высоту видео на основе исходной ширины, высоты и соотношения

После поиска - я не смог найти ответ, поэтому попробую здесь.

Мне нужно изменить размер видео на рабочем столе, чтобы разместить его на экране мобильного устройства, допустим, исходная ширина видео была 1915, а исходная высота 1075, я рассчитал соотношение сторон:

aspectRatio = (width/height); aspectRatio = 1.78;

Теперь разрешение моего мобильного экрана: высота = 1609, ширина = 1080.

Как я могу правильно изменить размер моего видео, чтобы сохранить то же соотношение сторон ??

Спасибо


person inside    schedule 30.05.2014    source источник


Ответы (2)


аспектное соотношение = (ширина/высота)

Вы всегда хотите, чтобы аспектRatio был равен 1,78, если вы хотите предотвратить растяжение или обрезку.

И максимальная новая высота — 1609, а максимальная новая ширина — 1080, поэтому:

1,78 = (1080/рост) рост = 1080/1,78 = 606,74...

OR

1,78 = (ширина/1609) ширина = 1,78*1609 = 2864,02...

Таким образом, у вас может быть 1080x606,74 (что помещается на экране) или 2864,02x1609 (что не помещается).

Итак, ваш ответ 1080x606,74...

person jamespharvey    schedule 30.05.2014

Пусть исходные размеры — Wo, Ho, а размеры целевого экрана — Wt, Ht. Прямоугольник с заданным аспектом уместится по вертикали, если отношение целевой и начальной высот меньше, чем отношение его ширин, и уместится по горизонтали в противном случае:

Coeff = Min(Wt/Wo, Ht/Ho)
W_Result = Wo * Coeff
H_Result = Ho * Coeff

or

if (Wt * Ho < Ht * Wo) then
    W_Result = Wt
    H_Result = Ho * Wt / Wo
else
    W_Result = Wo * Ht / Ho
    H_Result = Ht
person MBo    schedule 31.05.2014