2014-09-27 3 views
1

Я хочу сгенерировать изображения в размере 25%, 50%, 75% от исходного изображения, но, похоже, resize_to_fill/fit не поддерживает процент поддержки. Кто-нибудь знает, как это сделать?Как масштабировать изображение в процентах от несущей волны

Спасибо.

+0

Почему бы не просто рассчитать правильный номер? не можете ли вы использовать небольшую функцию или такую, чтобы перевести 50% на ширину/длину? – Coffee

+1

Не уверен, могу ли я использовать переменную типа: process: resize_to_fit => [image.width * 0.5, image.height * 0.5]. Кстати, размер каждого загруженного изображения не тот. – crax

ответ

5

После некоторых исследований, я нашел одно решение:

process :store_dimensions 

    version :r_3x do 
    process :resize_to_fit_by_percentage => 0.75 
    end 

    private 

    def resize_to_fit_by_percentage(percentage) 
    resize_to_fit model.width*percentage, nil 
    end 


    def store_dimensions 
    if file && model 
     model.width, model.height = ::MiniMagick::Image.open(file.file)[:dimensions] 
    end 
    end 

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

Смежные вопросы