Получить размеры для преобразования изображения в максимальное значение

Мне нужно получить некоторые размеры для отображения изображений.

Я хочу отобразить изображение в максимальном размере пикселя для самой длинной стороны изображения. Итак, если максимальная длина должна быть 1000 пикселей, я должен проверить, больше ли высота или ширина. После этого я изменяю размеры в правильных пропорциях. Если размеры изображения меньше 1000 пикселей, ничего не должно произойти.

Это мое решение, которое уже работает. Но я не чувствую себя хорошо. Есть ли более разумное решение?

dimensions(1000); function dimensions($limit) { if ($width >= $height) { if ($width < $limit) $limit = $width; $factor = $width / $limit; } else { if ($height < $limit) $limit = $height; $factor = $height / $limit; } $new_width = $width / $factor; $new_height = $height / $factor; } 

Ну мой пример кода:

 function dimensions($limit) { $tmp = max($width, $height); $limit = min($limit, $tmp); $factor = $tmp / $limit; $new_width = $width / $factor; $new_height = $height / $factor; }