Проверьте максимальный размер, а затем измените размер в зависимости от соотношения.Вот пример псевдокода:
if($imageHeight > $maxHeight) {
$newHeight = $maxHeight;
$newWidth = $imageWidth * ($maxHeight / $imageHeight);
}
if($imageWidth > $maxWidth) {
$newWidth = $maxWidth;
$newHeight = $imageHeight * ($maxWidth / $imageWidth);
}
resize($image, $newWidth, $newHeight);
Сначала он проверяет высоту и, если высота больше, уменьшает ее.Затем он проверяет ширину.Если ширина слишком велика, она снова уменьшается.Конечный результат, высота и ширина будут в ваших границах.Для масштабирования используется коэффициент.
Обратите внимание, это псевдокодиш.Фактический вызов функции изменения размера будет зависеть от вашей библиотеки обработки изображений - то же самое касается вызовов для получения размера изображения.