Лучшим подходом было бы продолжать генерировать миниатюры, как вы делаете в настоящее время, но сохранять оригинал загруженным как есть. Позже, скажем, меняются требования к изображениям, было бы проще запустить скрипт и заново сгенерировать все изображения. Таким образом, мы гарантируем, что не выполняем обрезку изображений во время выполнения, поскольку это может занять много времени и ресурсов.
Дайте мне знать, если это поможет.
Спасибо