Блог Михаила Крамера. PHP и JS
Масштабирование изображения под максимальный размер
15.06.2014

Полезный алгоритм, из тех, которые лучше знать. Итак, задача: есть изображение (потенциально - большое), есть максимальная высота и ширина. Надо уменьшить изображение пропорционально так, чтобы оно влезло в эти максимальные пределы.

function getNewSize($size, $maxX, $maxY) {
  $k = $maxX / $maxY;
  $kimage = $size[0] / $size[1];
  if ($kimage > $k) { //resize of maxX
    $ksize = $maxX /$size[0];
  } else { //resize of maxY
    $ksize = $maxY / $size[1];
  }
  $newX = floor($size[0] * $ksize);
  $newY = floor($size[1] * $ksize);

  /* image resize */

  return [$newX, $newY];
}

Спасибо romach с форума php.ru

Комментарии