이미지 가로세로 비율구하기(종횡비)
반드시 이미지일 필요는 없습니다.
HTML의 div 박스 일수도 있고 svg 같은것이 될 수도 있습니다.
가로 세로 몇대몇 값이 필요한 경우 사용하는 함수 입니다.
function aspect_ratio($width, $height) {
$ratio = [$width, $height];
for ($x = $ratio[1]; $x > 1; $x--) {
if (($ratio[0] % $x) == 0 && ($ratio[1] % $x) == 0) {
$ratio = [$ratio[0] / $x, $ratio[1] / $x];
}
}
return implode(':', $ratio);
}
echo date('Y-m-d H:i:s ') . aspect_ratio(1024, 768) . PHP_EOL;
원리는 간단합니다.
세로의 높이를 기준으로 나머지가 0이 나올때 까지 계속 돕니다.
자바스크립트가 필요하다면 위 함수에서 달러($)만 제외하고 마지막에 implode만 사용하시 않으면 됩니다.
요즘은 언어간에 호환성이 점점 높아 지는것 같습니다.
관련링크