Поиск правильного значения масштаба в масштабированном объекте для сохранения соотношения сторон видео

У меня есть видео внутри другого клипа. Когда я перехожу в полноэкранный режим, я масштабирую внешний мувиклип, чтобы он соответствовал размеру экрана. Чтобы OuterMovieClip.width был равен screenWidth и т. д. Как мне сохранить соотношение сторон моего видео, чтобы оно не искажалось? Какова правильная математика для этого?

Спасибо.


person Guest    schedule 20.01.2010    source источник


Ответы (1)


Я считаю, что вам нужно что-то (код ниже непроверенный) в соответствии с...

var screen_aspect_ratio = Screen.Width / Screen.Height;
var outer_aspect_ratio = OuterMovieClip.Width / OuterMovieClip.Height;
var new_outer_width;
var new_outer_height;

if (screen_aspect_ratio > outer_aspect_ratio) {
  new_outer_height = Screen.Height;
  new_outer_width = (Screen.Height * OuterMovieClip.Width) / OuterMovieClip.Height;
} else {
  new_outer_width = Screen.Width;
  new_outer_height = (Screen.Width * OuterMovieClip.Height) / OuterMovieClip.Width;
}

OuterMovieClip.Width = new_outer_width;
OuterMovieClip.Height = new_outer_height;
person theraccoonbear    schedule 20.01.2010
comment
Спасибо. Это не совсем работает, но я думаю, что это направляет меня в правильном направлении. Не могли бы вы вкратце объяснить, что именно делает умножение Screen.Height на OuterMovieClip.Width? Спасибо. - person Guest; 21.01.2010
comment
Взгляните на эту статью в Википедии... en.wikipedia.org/wiki/Cross_multiplication#Use< /а> - person theraccoonbear; 21.01.2010