Надо собирать все по максимум и хранить на сервере, далее дать возможность человеку выбрать из стандартных разрешений, либо указать то, которое ему нужно. Если обрезать ничего не надо, достаточно просто выдать масштабированную картинку, если же надо обрезать, показывайте html5 или flash резалку, чтобы пользователь отрезал сам. Масштабированные изображения лучше кешировать прямо на сервере, если проект крупный.