Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用CarrierWave在不保留原始纵横比的情况下调整图像大小_Ruby On Rails_Ruby_Carrierwave_Rmagick_Minimagick - Fatal编程技术网

Ruby on rails 使用CarrierWave在不保留原始纵横比的情况下调整图像大小

Ruby on rails 使用CarrierWave在不保留原始纵横比的情况下调整图像大小,ruby-on-rails,ruby,carrierwave,rmagick,minimagick,Ruby On Rails,Ruby,Carrierwave,Rmagick,Minimagick,我正在使用CarrierWave向上传的图像添加版本。resize_to_fit是在保留原始纵横比的情况下调整图像大小以适应指定的尺寸。如何在不保留原始纵横比的情况下调整图像大小?您需要使用Carrierwave的操作在uploader中定义自定义处理方法方法。下面是我刚刚测试过的一个示例: class Uploader < CarrierWave::Uploader::Base include CarrierWave::MiniMagick storage :file

我正在使用CarrierWave向上传的图像添加版本。resize_to_fit是在保留原始纵横比的情况下调整图像大小以适应指定的尺寸。如何在不保留原始纵横比的情况下调整图像大小?您需要使用Carrierwave的
操作在uploader中定义自定义处理方法方法。下面是我刚刚测试过的一个示例:

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
class Uploader[160160]
def force_调整大小(宽度、高度)
操纵do | img|
img.resize(“#{width}x#{height}!”)
img
结束
结束
结束
这会将图像大小调整为160x160px,而不考虑纵横比(请注意
resize
参数末尾的感叹号)