Ресайз изображения с сохранение пропорции. Возможность вписать в квадрат.

iss

Client
Регистрация
08.09.2016
Сообщения
31
Благодарностей
6
Баллы
8
Добрый день.

Подскажите может кто сталкивался, задача следующая.

Есть изображение, которые я выкачиваю по URL. У всех изображений, разный размер может быть, мне необходимо отресайзить все изображение в 512x512px с сохранением пропорции.

Основная проблема стандартного экшена изображений, что он берет большую сторону изображения и по ней уже в пропорции уменьшает. Например, если изображение было 1000 на 800, то после ресайза мы получим 512 на 410.

Мне же нужно вписать именно в квадрат исходное изображение. (по простому - не просто ресайз, а добавить белых полей там где не хватает до 512) но с сохранением пропорции исходного изображения.
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 380
Благодарностей
467
Баллы
83

iss

Client
Регистрация
08.09.2016
Сообщения
31
Благодарностей
6
Баллы
8
Попробовал с ImageMagic так и не удалось сделать, через совмещение картинок и ресайз, не хватило наверное опыта на C#.

Немного топорно, но решил, может будет кому-то полезно.

1. Я создал просто пустой файл jpg с нужны размерами мне 512 на 512 пикселей с белым фоном.

2. При скачивания файла по URL через стандартный кубик обработка изображений, я делаю сразу ресайз фото чуть меньше чем мне нужно на 400px с сохранением пропорции (если на этом шаге сделать 512 то после всех дальнейших манипуляция, отступов не будет на финальном изображении, если кому нужно, мне нет)

3. Далее через стандартный кубик обработка изображения, выбираю вотермарку наложить, первое изображения указываем нашу болванку с пустым белом фоном, вотермарку выбираем изображение и через переменную указываем путь к текущей картинки с фото уже после ресайза пункта 2, сохраняем заменой по пути файла вотермарки

На выходе получаем вписанную картинку в квадрат в нужный размер.
 
  • Спасибо
Реакции: Ribas

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 380
Благодарностей
467
Баллы
83

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)