Обрежьте прямоугольные миниатюры разных размеров в квадраты без искажений - PullRequest
0 голосов
/ 29 октября 2010

Наш сайт берет много разных размеров миниатюр и преобразует их в квадраты для сортировки.Квадраты 135px x 135px.

Наши текущие настройки:

:styles => { 
  :thumbnail => '135x>'
}

Как вы можете видеть, это уменьшение изображения до высоты 135 пикселей (при сохранении соотношения сторон), увеличение ширины до 135 пикселей, в результате чего изображениестать полностью искаженным.

У кого-нибудь есть лучший способ сделать это?в частности с Imagemagick?

Ответы [ 2 ]

2 голосов
/ 29 октября 2010

:thumbnail => '135x135#' (обратите внимание на #hashmark вместо> угловая скобка) - это то, как вы бы взяли средний блок размером 135px в качестве эскиза. Если вы хотите масштабировать, а затем обрезать, используйте пользовательский процессор. Если вы знаете, что входящие изображения будут уже на 135 пикселей по одной оси, то вышеуказанной директивы достаточно, чтобы отрезать концы, где бы они ни находились.

0 голосов
/ 30 октября 2010

Какую систему прикрепления файлов вы используете? Скрепка, AttachmentFu, что-то еще? Если вы используете rmagick для вызова Imagemagick, то пользовательский процессор использует crop_resized! метод может дать вам то, что вы ищете.

...