【问题标题】:Resize images without retaining the original aspect ratio using CarrierWave使用 CarrierWave 调整图像大小而不保留原始纵横比
【发布时间】:2018-08-31 20:08:06
【问题描述】:

我正在使用 CarrierWave 为我上传的图像添加版本。 resize_to_fit 正在调整图像大小以适应指定尺寸,同时保留原始纵横比。如何在不保留原始纵横比或裁剪它们的情况下调整图像大小?

【问题讨论】:

    标签: ruby-on-rails ruby carrierwave rmagick minimagick


    【解决方案1】:

    您需要使用 Carrierwave 的manipulate! 方法在上传器中定义自定义处理方法。这是我刚刚测试过的一个例子:

    class Uploader < CarrierWave::Uploader::Base
        include CarrierWave::MiniMagick
    
        storage :file
        process :force_resize => [160, 160]
    
        def force_resize(width, height)
            manipulate! do |img|
                img.resize("#{width}x#{height}!")
                img
            end
        end
    end
    

    这会将图像大小调整为 160x160 像素,而不考虑纵横比(注意 resize 参数末尾的感叹号)。

    【讨论】:

      猜你喜欢
      • 2013-09-09
      • 2013-06-26
      • 2012-04-15
      • 1970-01-01
      • 2012-05-01
      相关资源
      最近更新 更多