Нам нужна возможность изящно изменить размер любой фотографии / изображения до точной ширины / высоты без искажения изображения. Мы можем использовать стороннее решение или встроенную функциональность .NET, чтобы справиться с этим. Я думал, что должно быть простое решение этого вопроса без программирования сложного алгоритма.
Пример сценария (мы хотим, чтобы размер всех загрузок был увеличен до 200x100 пикселей)
Пейзажное фото с размерами 1250x800:
Изменение ширины до 200px пропорционально увеличит высоту до 128px, так что дополнительные 28px будут обрезаны сверху и снизу.
Пейзажное фото с размерами 1250x500:
Изменение ширины до 200px пропорционально увеличит высоту до 80px, поэтому нам нужно будет это отловить и сначала изменить размер по высоте. Установка высоты в 100px пропорционально установит ширину в 250px. Дополнительные 50 пикселей должны быть обрезаны по бокам фотографии.
Портретное фото с размерами 800x950:
Изменение ширины до 200px пропорционально увеличит высоту до 238px, так что дополнительные 138px будут обрезаны сверху и снизу.