2014-10-30 13 views
0

Как изменить размер изображения с помощью carrierwave и minimagick так, что она не учитывает соотношение сторон ?, Я хочу [120,120] изображениеИзменение размера изображения с carrierwave игнорируя пропорции - Рельсы

(Связанный ответ поддерживает аспект отношение, я хочу, чтобы игнорировать соотношение сторон !!)

+0

Это не ответа на мой вопрос, как я специально просил пропорции должны быть проигнорирован и ваш привязанный ответ поддерживает соотношение сторон. –

ответ

3

Вам нужно написать метод обработки пользовательской в ​​вашем пользователя:

class MyImageUploader < CarrierWave::Uploader::Base 
    include CarrierWave::MiniMagick 

    version :square do 
    process my_resize: [120, 120] 
    end 

    def my_resize(width, height) 
    manipulate! do |img| 
     img.resize "#{width}x#{height}!" 
     img 
    end 
    end 

end 

метод resize использует ImageMagick geometry syntax. Поэтому в этом случае восклицательный знак в конце говорит ImageMagick игнорировать соотношение сторон.

+0

Это трюк, спасибо! –

1

Вы можете использовать resize_to_fill: [120, 120]. Это будет игнорировать соотношение сторон, так что полученное изображение будет равно 120x120

Не смешивайте с resize_to_fit: [120, 120], который сохранит соотношение сторон, поэтому полученное изображение может быть 120x90 (в зависимости от формата изображения).

Надеется, что это помогло

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