Маcштабирование изображений до фиксированных размеров с сохранением пропорций
Для того что бы обрезать изображение, можно воспользоваться стандартными возможностями модуля Image из ядра Drupal. Но рассмотрим такой случай, выходное ихображение должно быть строго 150х150 пикселей и при этом должны сохраняться пропорции и изображение не должно быть обрезано.
Нам понадобится модуль ImageCache Actions. Данный модуль добавляет новые действия для изображений.
Что бы реализовать нашу задачу необходимо включить следующие модули:
- Imagecache Actions
- Imagecache Canvas Actions
После этого переходим на страницу редактирования уже существующего стиля либо добавляем новый.
Первое действие которое нужно добавить это масштабирование (Scale), в котором нужно указать желаемые размеры.
Далее нам нужно добавить действие определить холст (Define canvas). В настройках этого действия будет предложено выбрать цвет, этот цвет будет использован для заливки холста, т.е. фактически это будет фоновый цвет вашей картинки, если она будет не пропорциональна желаемому размеру.
Далее размеры, нужно указать размеры в которых вы хотите видеть конечное изображение.
После того как вы проделали действия изложенные выше, вы должны получить изображение 150х150 пикселей не зависимо от размера входного изображение, при этом всегда будут сохранены пропорции и изображение не будет обрезано.
Комментарии
great! very informative!just need such a thing, not yet well understood, and now do not have-already there. Thank you!)
Спасибо! То что нужно. Нашел вашу страницу со второго раза.
Первый раз вбил в поиск: "drupal 7 стили изображений задать холст чтобы картинка стала квадратной" - приплыла только тина морская ;-)
А введя второй раз: "drupal 7 стили изображений квадратная картинка с сохранением пропорций" - вы на первом месте.
Ещё раз спасибо!
Вопрос: А если мы не знаем точного размера, например это может быть 350х600 или 800х420 (ширина Х высота)
1. А нужно сделать квадрат.
2. Или минимальную высоту и ширину 500
То как это сделать?
Спасибо за ответ.