Духовность™
Guest
что-то не совсем догоняю..Духовность™
не надо резать середину общую, высчитаваешь отношение высоты оригинала в высоте нужного изображения, так же получаешь индекс для отношения ширины. выбрать меньши и отресазить картинку с учётом этого индекса. получается одна сторона нужного размера, другая забольшая. затем режем кусок, по одной оси у нас с размерами всё ок, для другой вырезаем с обрезая лишние отступы.
хотя, наверное, можно и без промежуточного этапа, но к чёрту, нужно писать человекопонятный код, а не машино-ресурсооптимизированный алгоритм.
Сначала я вычисляю отношение высоты оригинала к высоте нужного изображения:
PHP:
$ratio_width = $this->actualWidth / $this->resizedWidth;
$ratio_height = $this->actualHeight / $this->resizedHeight;
PHP:
$ratio = min($ratio_width, $ratio_height);