Jak można przeliczyć rozdzielczość obrazu na inną rozdzielczość w formacie16:9

0

Mam problem z tym zadaniem https://www.codewars.com/kata/596e4ef7b61e25981200009f/train/javascript. Napisałem kod ale działa tylko częściowo

function aspectRatio(x,y){
  let resolutionX = x;
  let resolutionY = y;
  let emptyArr = [];
  let totalX = Math.round(x*1.3333333333333333);
  let totalY = Math.round(y*1);
  emptyArr.push(totalX, totalY);
  return emptyArr;
}

Jak można przeliczyć rozdzielczość zdjęcia 640, 480 na 854, 480 w formacie 16:9? Próbowałem z polem prostokąta ale bez rezultatu

3

Wysokość ma pozostać stała. Jako że masz proporcje 16:9 i potrzebujesz nowej szerokości, to najprościej:

  1. Podzielić aktualna wysokość przez 9
  2. Wynik powyższego pomorzyć przez 16
  3. Całość zaokrąglić.
function aspectRatio(x,y){
  return [Math.ceil(y/9 * 16),y];
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1