Я пытаюсь создать эскизы изображений, загружаемых моими пользователями. Я получил базовую функциональность, чтобы мой класс миниатюр генерировал миниатюру, которая составляет 50% ширины и высоты исходного изображения. Тем не менее, я хотел бы расширить его функциональность и установить жесткий предел для миниатюр, который будет больше, чем 400px с обеих сторон после 50% сокращения.
Это то, что я имею до сих пор:
$x = $image_info[0]; // width of original image
$y = $image_info[1]; // height of original image
$x_t = $x/2; // width of 50% thumbnail
$y_t = $y/2; // height of 50% thumbnail
$biggest = ($x_t > $y_t) ? $x_t : $y_t; // determine the biggest side of the thumbnail
if($biggest > 400)
{
// Enforce a 400px limit here
/// somehow :(
}
С этим жестким ограничением я хочу, чтобы исходное изображение было уменьшено так, чтобы ни одна сторона не превышала 400px, и я хочу, чтобы другая сторона была уменьшена относительно, чтобы изображение не выглядело искаженным.
Будучи таким же ужасным с математикой, как и я, я не могу найти способ вычислить размеры изображения, к которым мой класс миниатюр должен изменить размер изображения.
Есть идеи?