Подтвердить что ты не робот

CarrierWave и изменение размера до определенной ширины

Использование CarrierWave в Rails 3.0 как бы вы сделали код изменяйте размеры изображений с шириной более 500 пикселей и шириной 500 пикселей и соответствующим образом отрегулируйте высоту - сохраняя одинаковое начальное соотношение ширины и высоты.

4b9b3361

Ответ 1

Вы можете использовать:

process :resize_to_limit => [500, nil]

Ответ 2

process :resize_to_limit => [500, 0]

Это будет обрабатывать изображение не более 500 пикселей, сохраняя при этом правильное соотношение сторон и позволяя любую высоту.

Ответ 3

Я знаю, что это старый вопрос, но мне нужно что-то подобное.

Я хотел, чтобы изображения были изменены, если они были больше заданного размера, но не увеличены, если они были меньше.

resize_to_limit (ширина, высота)

Измените размер изображения в соответствии с указанными размерами, сохранив исходное соотношение сторон. Будет только изменять размер изображения, если оно больше заданных размеров. Полученное изображение может быть короче или уже, чем указано в меньшем размере, но не будет больше заданных значений.

Подробности: http://carrierwave.rubyforge.org/rdoc/classes/CarrierWave/MiniMagick.html#M000051

Ответ 4

Если вы хотите ограничить только ширину, используйте:

process :resize_to_limit => [500, -1]

и используйте:

process :resize_to_limit => [-1, 500]

чтобы ограничить высоту.

Ответ 5

Предполагая, что вы используете RMagick или MiniMagick, добавьте эту строку в свой класс загрузчика:

process :resize_to_fit => [500]

Дополнительная информация:

http://carrierwave.rubyforge.org/rdoc/classes/CarrierWave/RMagick.html#M000064 http://www.imagemagick.org/RMagick/doc/image3.html#resize_to_fit